|
.NET Best Practices and Design Patterns: Hands-On
Building Successful Applications with Proven Techniques
|
Course:
511
Type:
Hands-On
Duration:
4
Days
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® 2008 Programming: 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 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 security, data access,
flexible architecture, coding and unit testing.
Security best practices covered in this course include application
protection with code-based security. In the area of data access
best practices, you learn how to isolate the table structures required in the database from the class structures required in the application domain.
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)?No. In working with databases, LINQ is only able to draw data from one table. This is only a partial solution for enterprise applications. This course uses the Domain Object/Data Mapper patterns for the extra flexibility of drawing data from multiple tables.For courses that include extensive coverage of LINQ, you may be interested in Course 973, Programming LINQ and C# Extended Features: Hands-On, or Course 974, Programming LINQ with Visual Basic® Extended Features: Hands-On.I use Visual Studio .NET 2003 or 2005. Will this course be valuable for me?Yes! While this course uses Visual Studio 2008, the skills gained can also be applied to Visual Studio .NET 2003 and 2005.What are .NET and the .NET Framework?They are the same thing. The .NET Framework is a programming platform that allows you to build Windows and Web applications that run on Microsoft operating systems.
The .NET Framework 3.0 added the following technologies to.NET 2.0: Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) and Cardspace. The .NET Framework 3.5 added Language INtegrated Query (LINQ). Strictly speaking, .NET 3.0 is not covered in this course because we do not cover WCF, WPF, WF or Cardspace. Similarly, .NET 3.5 is not technically covered in this course because we do not cover LINQ.
For courses that focus on technologies that were new with .NET 3.0, you may be interested in Course 513, Windows® Communication Foundation (WCF): Creating .NET 3.5 Web Services, Course 514, Windows® Workflow Foundation (WF): Hands-On, or Course 975, Windows ® Presentation Foundation (WPF) and Silverlight Introduction: Hands-On.
For courses that focus on technologies that were new with .NET 3.5, you may be interested in Course 973, Programming LINQ and C# Extended Features: Hands-On or Course 974, Programming LINQ with Visual Basic® Extended Features: Hands-On.
Course 976, .NET 3.0/3.5 Architectural Overview: Hands-On, is intended to be an overview of the major technologies of .NET 3.0/3.5 and does not go into depth on any one technology. It does provide a working knowledge of the technologies and an understanding of how they can be integrated to build a system. Each of the technologies is covered in depth by individual Learning Tree courses.
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?| Content | Hours | | Introduction to best practices and design patterns | 1.5 | | Simplifying complex programming problems with proven design patterns | 7.0 | | Applying test-driven development techniques | 5.0 | | Architecting an n-tier application | 4.0 | | Implementing security best practices | 4.0 | | Automating repetitive tasks and optimizing performance | 2.5 | 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 2008.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. |
|
|
|
 |
| Upcoming
Dates |
Boston (Waltham) | Toronto | Washington, DC (Reston, VA) | Atlanta | New York | Boston (Waltham) | Washington, DC (Rockville, MD) | Los Angeles | Ottawa | Baltimore |
|
|

|
|
| Course participants applying design patterns. |
|
|
-
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
-
FREE participation in College Credit programs (including related exams)
|
|
Course Tuition
|
|