Request Info

Salutation

First Name

Last Name

Job Title

Department

Mailstop

Company

Address

P.O. Box

City

Province

Postal Code

Country
List

Work Telephone

Ext.

E-mail Address

Information provided will be used to communicate with you about our products.
Privacy Statement

A representative will contact you to follow up your request.

 
Special offer: Free Courses with Training Vouchers.

 

.NET Best Practices and Design Patterns:
Hands-On

Building Successful Applications with Proven Techniques


Course 5114 Days

 E-mail E-mail a Colleague Course Details Course Details Course Details PDF Course Details PDF

Frequently Asked Questions

What is this course about?

This course is designed for those who want to build upon their basic .NET language knowledge. Developers learn to identify and solve common design and architecture problems by applying best practices to .NET application development.

.NET design patterns are also covered in this course. Design patterns enhance the adaptability of your application, creating application reuse and flexibility.

What background do I need?

Programming experience at the level of Course 419: C# Programming: Hands-On, or Course 503: Visual Basic® Programming for .NET: Hands-On, is assumed. For example, you should:

  • Have experience working with Visual Studio
  • Be familiar with object-oriented concepts
  • Have experience building .NET applications in Visual Basic, C# or C++

Who will benefit from this course?

Typical course participants include programmers, system architects and anyone developing .NET applications. Anyone currently developing or working with .NET applications will find this course valuable.

What version of Visual Studio is used in this course?

This course uses Visual Studio 2010.

What are design patterns?

Design patterns allow developers to apply a proven design structure to commonly occurring design problems.

Due to the large number of choices available for solving similar design problems, choosing the best solution can be challenging.

Object-oriented development presents more flexibility than procedural languages, such as the ability to inherit code, code to interfaces and dynamically change objects at run time.

Ironically, this flexibility sometimes makes developing the best solution more difficult. Design patterns recognize and identify similarities between applications and apply a proven structure to solve these similar problems. Once the design is coded, the resulting code structure is easier to maintain and more adaptable.

What design patterns does this course cover?

This course covers the principles of applying design patterns. Specific design patterns covered in this course include the Façade, Strategy, Decorator, Template Method, Observer, Adapter, Model View Controller, Mock Object, Identity Map, Domain Object and Data Mapper patterns. Each of these design patterns serves a distinct, unique purpose, while each one serves the common purpose of application reuse and flexibility.

What are best practices and which ones are covered in this course?

Best practices are coding and design techniques proven to work in particular situations. Best practices allow code to be more maintainable, flexible and resilient. This course covers best practices in the areas of data access, flexible architecture, coding and unit testing.

In the area of data access best practices, you learn how to use Object Relational Mapping techniques and how to decouple your business logic and application entity types from the database structure. The course gives you guidelines for building a flexible application framework, architecting multi-tiered applications and applying test-driven development techniques.

Does this course cover test-driven development?

Yes. This course covers test-driven development, also known as test-first development. Test-driven development is a beneficial technique because it ensures that testing is included in the development process. By employing the test-driven technique, developers are able to correct errors along the way, instead of re-visiting code for errors after the bulk of the code has been written. If an error is encountered after code has been written, test-driven development allows for an easier solution, testing for the newly found error. Test-driven development ensures defect correction does not introduce new errors and that the corrected defect becomes a permanent part of the application.

Does this course cover LINQ (Language INtegrated Query)?

Yes. This course uses the Entity Framework and implementations of the Domain Object/Data Mapper patterns to draw data from multiple tables.

For a course that includes extensive coverage of LINQ, you may be interested in Course 973: Programming C# Extended Features: Hands-On.

Does this course cover .NET on platforms other than Microsoft?

No. This course runs on the Microsoft platform only. Though some of the exercises could be applied to UNIX or Linux, this course does not cover UNIX or Linux.

How much time is spent on each topic?

ContentHours
Introduction1.5
Simplifying Complex Programming with Proven Design Patterns6.0
Applying Test-Driven Development Techniques5.0
Architecting a Layered Application3.0
Applying Best Practices5.5
Automating Repetitive Tasks2.0
Times, including the workshops, are estimates; exact times may vary according to the needs of each class.

How much of the course is devoted to hands-on exercises?

About 40 percent of the course is devoted to hands-on exercises. Throughout the course, you implement design patterns to create adaptable and maintainable solutions. Using a test-driven approach, you build reusable test streams to enable future application development without reintroducing bugs. All exercises are offered and may be completed in either C# or Visual Basic 2010.

How does this course relate to other Learning Tree courses?

The following courses teach you specific techniques for building applications. Course 511 covers coding practices and techniques that further enhance your applications.

 
.NET Best Practices and Design Patterns: Hands-On

Training Dates

Live online classroom training. Participate in person or in live, online events (highlighted) via Learning Tree AnyWareTM.
Apr 10 - 13Toronto enrol
May 1 - 4Ottawa enrol
Aug 7 - 10Toronto enrol
Sep 4 - 7Ottawa enrol
Dec 4 - 7Toronto enrol

US Dates

Feb 21 - 24New York enrol
Apr 2 - 5Los Angeles enrol
Apr 10 - 13Boston enrol
Apr 17 - 20Rockville, MD enrol
Apr 24 - 27Alexandria, VA enrol
May 8 - 11Chicago (Schaumburg) enrol
May 15 - 18New York enrol
Jun 5 - 8Reston, VA enrol
Jun 19 - 22Atlanta enrol

For AnyWare enrolments, please register at least 10 days prior to the start of the course.

More Dates and locations.

Tuition

$ 3,220Standard Tuition
Tuition with a Savings Plan
$ 2,2952-Course Passport
$ 1,8353-Course Passport
$ 1,7604-Course Passport
$ 2,950Voucher 5-Pack
$ 2,830Government Discount

On-Site &
Custom Training

Bring this or any Learning Tree course to your location or have it customized for your organization.

.NET Best Practices and Design Patterns: Hands-On

Course participants applying design patterns.


Your Course Tuition
EntitlesYou to...

  • Class participation
  • Team workshops
  • Use of in-class hands-on equipment
  • Comprehensive course materials
  • Morning and afternoon refreshments
  • Course Completion Certificate awarding Continuing Education Units
  • FREE participation in Professional Certification