.NET Best Practices and Design Patterns Training

Course 511

  • Duration: 3 days
  • Labs: Yes
  • Language: English
  • Level: Intermediate
Get This Course £1,695
  • 3-day instructor-led training course
  • Learning Tree end-of-course exam included
  • After-course computing sandbox included

  • After-course instructor coaching benefit

#511
  • Guaranteed to Run - you can rest assured that the class will not be cancelled.
    Aug 24 - 26 2:00 PM - 9:30 PM BST
    AnyWare
  • Sep 27 - 29 9:00 AM - 4:30 PM BST
    London or AnyWare
  • Oct 12 - 14 2:00 PM - 9:30 PM BST
    New York or AnyWare
  • Dec 6 - 8 9:00 AM - 4:30 PM GMT
    London or AnyWare
  • Dec 14 - 16 2:00 PM - 9:30 PM GMT
    Ottawa or AnyWare
  • Feb 15 - 17 2:00 PM - 9:30 PM GMT
    Herndon, VA or AnyWare
  • Mar 28 - 30 9:00 AM - 4:30 PM BST
    London or AnyWare
  • Apr 12 - 14 2:00 PM - 9:30 PM BST
    New York or AnyWare
  • Jun 14 - 16 2:00 PM - 9:30 PM BST
    Ottawa or AnyWare
  • Jun 27 - 29 9:00 AM - 4:30 PM BST
    London or AnyWare

Scroll to view additional course dates

Gain the skills needed to solve real-world software programming problems to quickly deliver reliable applications that realize the quality goals of Agile development. In this .NET Best Practices and Design Patterns training course, you will identify and apply the most modern of design patterns and architectures available for .NET – from lazy singletons to asynchronous adapters. Following a "separation of concerns" approach, you will learn to write C# code that is much more maintainable, flexible and resilient.

    .NET Training Delivery Methods

    • In-Person

    • Online

    .NET Training Course Benefits

    • Solve complex programming problems using design patterns

    • Deliver bug-free code using test-driven development in Visual Studio

    • Create layered architectures for reusability and to eliminate functional duplication

    • Apply the S.O.L.I.D. principles for better class design

    .NET Course Outline

    Prerequisites

    You should have experience:

    • Working with Visual Studio
    • Using object-oriented concepts
    • Building .NET applications in Visual Basic, C#, or C++

    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

    • Creating abstractions to enhance application adaptability and flexibility
    • 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 an algorithm
    • Employing the Template Method pattern

    Interfacing incompatible classes

    • Transforming an interface to add value to existing code
    • Harnessing the Adapter pattern

    Automating unit testing

    • Shortening development cycles with automated tests
    • Eliminating regression errors with reusable tests

    Integrating testing and coding

    • Applying the test-first programming practice
    • Generating immediate red-green feedback for increased code quality and shortened feature development cycles
    • Organizing, coordinating and running test cases
    • Isolating a class test environment with the Mock–Object pattern for reliable and repeatable testing
    • Tracking the Red–Green–Refactor rhythm for feedback

    Refactoring code to improve design

    • Improving design with behaviour preserving refactorings
    • Eliminating code duplication by refactoring to patterns

    Designing the application architecture

    • Layering architectures for reusability, durability and scalability
    • Decoupling object creation with the Factory pattern
    • Preserving object identity with the Identity Map pattern

    Programming application tiers

    • Isolating UI layers with the MVC and MVVM patterns
    • Organizing state–rich applications with the State pattern
    • Restructuring database tables without impacting code

    Modelling 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

    Organizing and implementing business logic

    • Managing Persistence Ignorant Entity types with Entity Framework
    • Manipulating groups of Entities with business logic classes

    Applying S.O.L.I.D. principles of class design

    • Single Responsibility
    • Open–Closed
    • Liskov Substitution
    • Interface Segregation
    • Dependency Inversion

    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 Code analyzer
    • Reducing User Interface code with Data Binding

    Need Help Finding The Right Training Solution?

    Our training advisors are here for you.

    .NET Course FAQs

    Design Patterns in .NET vary from lazy singletons to asynchronous adapters that quickly deliver reliable applications that realize the quality goals of Agile development.

    • .NET is used in this course through the C# language.
    • This course uses Visual Studio 2019 but is useful to those using an earlier version.

    Yes! We know your busy work schedule may prevent you from getting to one of our classrooms which is why we offer convenient online training to meet your needs wherever you want. This course is available in class and live online.