Intensive, Full-Day Workshops
Pre-Conference — Tuesday, November 14
Advanced Windows Forms Advanced
Billy Hollis, DotNetMasters
Ready to move beyond the basics of forms-based applications? Learn advanced techniques with real-world examples in this Black Belt session on Windows Forms. You’ll discover capabilities you never knew existed, learn to use advanced OO capabilities in Windows Forms, find out how to build large, complex Windows Forms applications, and get an advanced look at the changes in Windows Forms 2.0 for Visual Studio 2005. The workshop will include several production-ready components and examples for you to use in your own projects.
Build Distributed Object-Oriented Apps in .NET 2.0 Intermediate
Rockford Lhotka, Magenic Technologies
Learn how to design Windows and Web-based applications based on distributed business objects, achieving high levels of reuse, scalability, long-term maintainability, and other benefits. Through Rockford Lhotka's CSLA .NET framework, you will see how to apply System.Transactions, generics, new ADO.NET features and data binding when building distributed applications on .NET 2.0, and how to ease the transition to new .NET 3.0 features.
Post-Conference — Friday, November 17
Advanced C#: Patterns and Practices in .NET Framework 2.0 Advanced
Richard Hale Shaw, Richard Hale Shaw Group
The arrival of .NET Framework 2.0 brings with it a whole host of Best Practices and Patterns you should utilize and take advantage of: what classes and members should you use instead of those in .NET 1.x? How best to leverage Generics, Iterators and Nullable Types? And how best to streamline your class libraries to make them better quality, more reusable and extensible? In this tutorial, we’ll spend a day using VS2005 to build live code examples (which you’ll get a copy of, afterwards) to get answers.
We’ll start with Generics, how to apply them and how the Type class has been extended to detect and consume them. You’ll learn how to build Generic classes, methods interfaces and Delegates. We’ll delve into Generic Constraints and the classes and interfaces in System.Collections.Generic. We’ll also examine how to apply Generics to Serialization and Remoting. Finally, you’ll learn Best Practices—when you should and shouldn’t use Generics, and some dos and don’ts for how to apply them.
Then we’ll turn to Iterators: we’ll learn how Iterators work, how to define them, when to have them return IEnumerator vs. IEnumerable (or their Generic counterparts), and how to use the new yield keyword. You’ll even learn how to use recursion to create truly powerful Iterator objects. After that, we’ll review a number of new C# 2.0 and Framework 2.0 features, including: Nullable Types, Anonymous Methods, Reference Aliases, Friend Assemblies, and other powerful Framework 2.0 features.
Then we’ll dive into the Framework Design Guidelines: how do you create types and members that are best designed for re-usability, when should you create types that are extensible – and how – and (horrors!) what naming conventions should you apply?
By the end of the day, you’ll have a much deeper understanding of C# 2.0, Framework 2.0, the Framework Design Guidelines, and Patterns and Practices for leveraging them.
Prerequisites: you must already have 1 year of C# development experience with VS.NET 2003 and .NET Framework 1.x: no hand-holding if you don't. While .NET 2.0/C# 2.0 experience is not required, you may find it useful to bring a laptop with VS2005 pre-installed.
Build a .NET App in a Day with Team System Intermediate
Brian A. Randell, MCW Technologies
Team System offers development teams fantastic tools and technologies to get things done better. However, sometimes just seeing all the features doesn't really cut it. In this workshop, we'll use Team System to build a .NET application in a day. We'll use all the features of Team System including the various client tools such as the application designers, code analysis tools, performance tools and testing. We'll use Team Foundation Server's source code control, build server and reporting features to see if we're on track. And at the end of the day, you'll know whether Team System has the features you need to build successful software systems.




