Home
  Technology Courses
  Management Courses
  Certification
  MyHistory
 Course Schedule
  Free Catalog
  About Us
  What's New
  Contest
  Contact Us
Photo Galary
 
.NET Best Practices and Design Patterns: Hands-On
You Will Learn How To
  • Apply 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 and Visual Studio 2008
  • Increase team productivity by building application domain object models
  • Protect applications and data with code-access security
  • Simplify complex and repetitive tasks using .NET reflection and custom generic classes

 

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 2008 Programming," 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
  • Coordinating database updates from Business Object hierarchies and collections
  • 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

 

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 behavior 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 an N-Tier 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
  • Constructing reusable business base classes and interfaces with the Layer Supertype pattern
  • Organizing state-rich applications with the State pattern
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
Applying Best Practices
Configuring code-access security
  • Authorizing code
  • Permission sets
  • Trust levels
  • Code groups
  • Evidence
  • Demanding permissions
  • Accessing isolated storage
Designing and using generic classes
  • Creating classes and methods parameterized on types
  • Replacing repeated code with generic types
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 and Optimizing Performance
Employing reflection
  • Examining objects at runtime
  • Late binding to fields during execution
Enhancing application code
  • Enforcing best practices with FxCop
  • Creating unit-testable user interface code

Copyright ©2008, www.galaxy.ps

Designed By: Mohammed Fuqaha