|
|
|
You Will Learn How To
- Implement proven methods to build adaptable, reliable and efficient .NET Web and smart client applications
- Solve complex programming problems with industry-standard design patterns
- Deliver bug-free code using test-driven development in Visual Studio
- Create layered architectures for reusability and avoiding functional overlap
- Apply best practices for improved class design
- Simplify and automate repetitive tasks
Course Benefits Knowledge of the .NET languages and libraries alone is not enough to develop robust applications. Proven design patterns and best practices, distilled from the wisdom of experts, support you in building applications upon a solid foundation. This course provides the skills needed to solve real-world software development problems and deliver fast, reliable applications.
Who Should Attend Programmers, system architects and anyone developing .NET applications. Programming experience at the level of Course 419, " C# Programming," or Course 503, " Visual Basic Programming for .NET," is assumed.
Hands-On Training You gain experience implementing .NET best practices and design patterns. Exercises, completed in VB or C#, include:
- Reconciling diverse processing problems with the Strategy pattern
- Simplifying a complex system with the Facade pattern
- Exploiting Microsoft Entity Framework for data access and updates
- Creating a Business Domain Object Model
- Building automated test cases
- Structuring a testable user interface with the Model View Controller pattern
- Capturing and reusing tests within Visual Studio
Course 511 Content Introduction
- Coding with best practices
- Simplifying software with design patterns
Simplifying Complex Programming with Proven Design Patterns
Applying simple interfaces to intricate algorithms
- Unifying interfaces from subsystems for ease of use and reusability
- Implementing the Facade pattern
Varying functionality by programming to interfaces
- Enhancing the adaptability and flexibility of your application
- Exploiting the Strategy pattern
Extending object behaviour dynamically
- Increasing functionality without impacting existing code
- Composing objects with the Decorator pattern
Achieving reuse and flexibility
- Eliminating code duplication by outlining a basis for an algorithm
- Employing the Template Method pattern
Interfacing incompatible classes
- Transforming an interface to add value to existing code
- Harnessing the Adapter pattern
Applying Test-Driven Development Techniques
Automating unit testing
- Shortening development cycles with automated tests
- Improving quality with consistent test coverage
- Eliminating regression errors with reusable tests
Integrating testing and coding
- Applying the test-first programming practice to drive code design
- Generating immediate green-light feedback for increased code quality and short feature development cycles
- Organizing, coordinating and running test cases with Visual Studio
Architecting a Layered Application
Designing the application architecture
- Layering architectures for reusability, durability and scalability
- Accessing data from the business tier
- Decoupling object creation with the Factory pattern
- Preserving object identity with the Identity Map pattern
Programming application tiers
- Structuring a Web or rich client application with the Observer pattern
- Organizing state-rich applications with the State pattern
- Restructuring database tables without impacting application code
Modeling a business area
- Liberating rich Business Object Models from database structures using the Domain Model pattern
- Mapping rich Business Objects to database tables with the Data Mapper pattern
- Collapsing Business Object hierarchies with the Inheritance Mapper pattern
- Exploiting declarative programming in Microsoft Entity Framework to implement Data Mapping classes
Applying Best Practices
Organizing and implementing business logic
- Applying domain logic patterns in the middle tier
- Extending Entity types with partial classes
- Manipulating groups of Entities with business logic classes
Best practices in class design
- Guarding against rigidity with the Open/Closed Principle
- Extracting new classes with the Single Responsibility Principle
- Effective use of inheritance
Automating Repetitive Tasks
Easing data access code
- Reducing database access code by exploiting Entity Navigation Properties
- Eliminating database update code with Entity change tracking
Enhancing application code
- Automating design reviews with FxCop and Visual Studio Analysis
- Eliminating code duplication through refactoring to design patterns
|
<< Back to Visual Studio and .NET Course List
Related Courses
|
|

Course Dates | Dec 14 - 17 | Toronto enrol | | Jan 11 - 14 | Ottawa enrol | | Apr 5 - 8 | Toronto enrol | | May 10 - 13 | Ottawa enrol | | Aug 9 - 12 | Toronto enrol | US Dates | | Sep 28 - Oct 1 | Chicago enrol | | Nov 2 - 5 | Reston, VA enrol | | Nov 9 - 12 | Los Angeles enrol | | Nov 16 - 19 | New York enrol | | Dec 7 - 10 | Rockville, MD enrol |
Attend highlighted events
in person or
online with Learning Tree AnyWareTM.
More Dates and Locations.
On-Site &
Custom Training
Bring this or any Learning Tree course to your location or have it customized for your organization.
|
|
|
Course participants applying design patterns.
|
The most recent 100 evaluations scored this course:  |  | (3.70/4.00) |
|
|
"I prefer to attend Learning Tree Courses for my training because they are much better than those I have taken with other providers. I don't feel I'm wasting my time doing things that don't relate to my goals."
– C. Ryan Mustang Engineering
|
 |
|
|