Description
As we celebrate the first decade of .NET development we realize that a lot has changed. In a nutshell, development is now much harder because the complexity of the average application has grows significantly. So now the RAD paradigm privileging productivity and raw performance over everything else no longer applies with the same effectiveness. Development needs more effort and resources, but to be really effective it needs to be sustainable. The class addresses this common need by discussing three aspects of applications: quality of code, modeling and layers.
Low quality code has a cost and design principles, common practices (refactoring, testing), static analysis, metrics and frameworks for semantic correctness help keeping it affordable. Today, a successful project is a project whose facts and requisites are well understood and communicated. Modeling is an area with very few certainties as far as best practices are concerned, but just for this reason tools, technologies and practices are revised and refined at a surprising speed. Revisiting pillars of object-orientation, the class introduces domain-centric, behavior-focused modeling techniques that represent an affordable approach for many projects. Pinpointing proper layers in the domain of a solution is a key step to guarantee maintainability, extensibility, and testability across the horizontal sections of a typical application—presentation, business, data.
The class is rich of examples often based on newest technologies such as Managed Extensibility Framework, Code Contracts, Entity Framework 4, NHibernate, ASP.NET MVC.
Author
The workshop will be run by Dino Esposito. Dino is the author of “Microsoft .NET: Architecting Solutions for the Enterprise”, Microsoft Press, 2008 and other best-selling books such as "Programming ASP.NET 3.5 Core Reference" (Microsoft Press, 2008), "Introducing ASP.NET AJAX" (Microsoft Press, 2007) and "Programming Microsoft ASP.NET 2.0 Applications—Advanced Topics" (Microsoft Press, 2006). He’s also the author of the Cutting Edge column on MSDN Magazine and a frequent speaker at industry events worldwide, including Microsoft TechEd, DevConnections and, in Europe, DevWeek and Basta.
Prerequisites
Developers and lead developers willing to grow professionally by learning design principles to apply in everyday work. The class also addresses well common needs of project managers and IT managers who coordinate the various phases of the software development process. The class gives them some solid knowledge to better communicate with super-skilled developers and architects. Finally, the class may also result fruitful to solution architects needing a crisp refresher or looking for a new perspective that rejuvenate their design spirit. Note: In general, the content of the class should be nothing new for expert architects, but exceptions apply. So check carefully the topics outlined below as they should give you an exact idea of the succession of topics. If you have further questions, don’t hesitate to ask.