Preferred method of contact:

.NET Best Practices and Design Patterns

COURSE TYPE

Intermediate

Course Number

511

Duration

4 Days

PDF Add to WishList

Gain the skills needed to solve real-world software development problems, and deliver fast, reliable applications. In this training course, you will identify and solve common design and architecture problems, apply best practices and design patterns to .NET application development, write code that is more maintainable, flexible and resilient, and apply design patterns for application reuse and flexibility.

You Will Learn How To

  • 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

Important Course Information

Requirements:

  • Programming experience at the level of:
  • You should have experience:
    • Working with Visual Studio
    • Using object-oriented concepts
    • Building .NET applications in Visual Basic, C#, or C++

Software:

  • This course uses Visual Studio 2013, but is useful to those using an earlier version

Course Outline

  • 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

  • Creating abstractions to enhance application adaptability and flexibility
  • 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 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
  • 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 behavior preserving refactorings
  • Eliminating code duplication by refactoring to patterns
  • Architecting a Layered Application

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

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

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

Convenient Ways to Attend This Instructor-Led Course

Hassle-Free Enrollment: No advance payment required to reserve your seat.
Tuition due 30 days after you attend your course.

In the Classroom

Live, Online

Private Team Training

In the Classroom — OR — Live, Online

Tuition — Standard: $2990   Government: $2659

Sep 26 - 29 (4 Days)
9:00 AM - 4:30 PM EDT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Oct 24 - 27 (4 Days)
9:00 AM - 4:30 PM EDT
Toronto / Online (AnyWare) Toronto / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Nov 28 - Dec 1 (4 Days)
9:00 AM - 4:30 PM EST
Online (AnyWare) Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online

Jan 2 - 5 (4 Days)
9:00 AM - 4:30 PM EST
Ottawa / Online (AnyWare) Ottawa / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Feb 20 - 23 (4 Days)
9:00 AM - 4:30 PM EST
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Mar 27 - 30 (4 Days)
9:00 AM - 4:30 PM EDT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Apr 24 - 27 (4 Days)
9:00 AM - 4:30 PM EDT
Toronto / Online (AnyWare) Toronto / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

May 22 - 25 (4 Days)
9:00 AM - 4:30 PM EDT
Online (AnyWare) Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online

Jun 26 - 29 (4 Days)
9:00 AM - 4:30 PM EDT
Ottawa / Online (AnyWare) Ottawa / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Aug 21 - 24 (4 Days)
9:00 AM - 4:30 PM EDT
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Sep 18 - 21 (4 Days)
9:00 AM - 4:30 PM EDT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

How would you like to attend?

Live, Online
In-Class

Guaranteed to Run

Show all dates
Show fewer dates

Private Team Training

Enrolling at least 3 people in this course? Consider bringing this (or any course that can be custom designed) to your preferred location as a private team training.

For details, call 1-888-843-8733 or Click Here »

Tuition

Standard

Government

In Classroom or
Online

Standard

$2990

Government

$2659

Private Team Training

Contact Us »

Course Tuition Includes:

After-Course Instructor Coaching
When you return to work, you are entitled to schedule a free coaching session with your instructor for help and guidance as you apply your new skills.

After-Course Computing Sandbox
You'll be given remote access to a preconfigured virtual machine for you to redo your hands-on exercises, develop/test new code, and experiment with the same software used in your course.

Free Course Exam
You can take your Learning Tree course exam on the last day of your course or online at any time after class and receive a Certificate of Achievement with the designation "Awarded with Distinction."

Prev
Next

Training Hours

Standard Course Hours: 9:00 am – 4:30 pm
*Informal discussion with instructor about your projects or areas of special interest: 4:30 pm – 5:30 pm

FREE Online Course Exam (if applicable) – Last Day: 3:30 pm – 4:30 pm
By successfully completing your FREE online course exam, you will:

  • Have a record of your growth and learning results
  • Bring proof of your progress back to your organization
  • Earn credits toward industry certifications (if applicable)

Enhance Your Credentials with Professional Certification

Learning Tree's comprehensive training and exam preparation guarantees that you will gain the knowledge and confidence to achieve professional certification and advance your career.

Earn 23 Credits from NASBA

This course qualifies for 23 CPE credits from the National Association of State Boards of Accountancy CPE program. Read more ...

“Our .NET Best Practices instructor was fantastic! He taught using the material as a scaffold and reference, but he brought his own experiences to bear. I would enjoy learning from him again.”

- P. Alegret, Senior Software Engineer
American Public University System

Prev
Next
Chat Now

Please Choose a Language

Canada - English

Canada - Français