Finally!  An easy-to-follow Guide for .NET 3.5 Architects building Applications with Design Patterns

Design Pattern FrameworkTM  3.5



Includes   Gang of Four  ,   Enterprise   and   SOA   patterns.

New in Release 3.5:  WPF ,  WCF ,  LINQ ,  Business Rules ,  Membership ,  Cloud Facade ,  MVC ,  MVP , and  MVVM  patterns & practices!




 


Now in two editions:  C# and VB.NET!

Attention:   If you need complete confidence working with design patterns in .NET 3.5, then this unique Design Pattern Framework is the thing for you.






Here's an unsolicited letter from Yama Kamyar in California -- just one of the many .NET developers now benefiting from the Design Pattern Framework.

Hi,

I would just like to take a minute of my time to let you know the design pattern package for both C# and VB.NET you have offered for ONLY $99.00 were the BEST transaction I have ever done in my career.

It is far better than buying a 600 page book and spend a 100 years learning from it. Your package has immediately been effective for both my business and my career from the moment I opened it.
I love you guys!


Yama Kamyar
Yamabiz, Inc.
San Diego, California
.NET Author
and San Diego
.NET User Group
Presenter


And here is another unsolicited letter from Miguel A. Castro. He's a Microsoft MVP (Most Valuable Professional for C#/ASP.NET), a well-known .NET author, and a member of the International .NET Association (INETA) speaker bureau.

Hello,

Quite a package you guys put together there - code and docs. You've managed to compile for me what I've been grabbing from various sources over a long time. I'm very impressed.

I am already a customer and I hope you have tremendous success with this.  Keep up the good work!


Miguel A. Castro, President
Infotek Consulting Group, Inc.
New Jersey, USA
www.infotekcg.com




Two editions: C# and VB.NET

Is your preferred language C# or VB.NET? In fact, it does not matter because the Design Pattern Framework comes in two editions: C# and VB.NET. Their contents are the same -- each with source code in their own language: the C# edition comes with 100% pure C# source code and the VB.NET edition comes with 100% pure VB.NET source code.





What do I get with the Design Pattern FrameworkTM?

In fact, our latest Design Pattern Framework 3.5 is 7 packages in one -- each filled with information and source code you will not find anywhere else -- and each working together to empower your applications and your career. They are:


 1.   69 Comprehensive .NET 3.5 Design Pattern Projects
 2.   23 Valuable UML Diagrams in Visio format
 3.   Printable PDF document with all GoF Patterns
 4.   3-Tier Pattern Architecture with WPF, WCF, & LINQ
 5.   E-commerce ASP.NET 3.5 Pattern Application  with MVC!
 6.   E-commerce Windows Forms Application  with MVP!
 7.   E-commerce WPF Reference Application  with MVVM!


Design Pattern Framework 3.5, our latest release, has been enhanced significantly with brand new insights on how to build a 3-tier .NET pattern architecture based on the .NET 3.5 platform.


These include Patterns and Practices for WCF, WPF, LINQ, LINQ-TO-SQL, and Model-View patterns including MVC, MVP, and MVVM. Also new in this release are Cloud Facade, Business Rules, and Membership.


Let's look at each of the 7 packages in more detail.




1.  69 Comprehensive Gang of Four .NET 3.5 Design Pattern Projects

Have you ever wondered how useful it would be to have dozens of design pattern source code projects available at your fingertips? Yes, Google is just a few clicks away, but Google results require you to wade through numerous result pages before you may find your answer -- mostly without meaningful or useful sample code.

Not so with the 69 ready-to-run Design Pattern projects. Well organized in a single Visual Studio .NET solution, you have the following code available at your fingertips.


  • 23 Structural Gang of Four design patterns
  • 23 Real-World Gang of Four design patterns
  • 23 .NET 3.5-Optimized Gang of Four design patterns

A total of 69 design pattern projects -- each clearly named and within easy reach. How easy? Simply create a shortcut to our master .NET Solution on your desktop and you're ready to explore all 69 elegant software solutions. And, of course, every project comes with 100% pure source code!


Your desktop shortcut(s) will look like this:

Design Pattern shortcuts:




Double click the shortcut and all 69 pattern projects are instantly available:

Design Pattern Solution Explorer:




100% pure source code for the best learning experience:

Visual Studio .NET code editor:






2.  23 Valuable UML Diagrams in Visio format

Many of you have asked about the Visio templates for the UML diagrams of the 23 Gang of Four Patterns. We're pleased to inform you that these are now included in the Design Pattern Framework!  23 Visio templates in all: one for each of the Gang of Four patterns.


Use these while you study design patterns or when discussing patterns with your colleagues. Or perhaps you want UML printouts of commonly used patterns on your office wall. Whatever your need, you have all UML diagrams available in a format you can work with.



23 Design Pattern UML Diagrams in Visio:






3.  Printable PDF document with all 23 GoF Patterns

Many developers have requested that the design pattern details be made available in some printable format. We're happy to let you know that with the Design Pattern Framework you're getting a printable PDF pattern reference guide.


In this 88-page document you will find important details on each of the the 23 GoF patterns: definition, frequency of use, UML diagram, and participating classes. This document goes hand in hand with the aforementioned 69 design pattern projects. A very powerful combination indeed.


It is one thing to understand design patterns. It's an entirely different thing to understand exactly when and where you apply these patterns. Books on design patterns mostly explain the mechanics of the patterns rather than their usage. We are pleased to announce that this PDF document provides you with this hard-to-find information. Each of the 23 patterns includes:

  1) when and where in .NET do you apply the design pattern, and
  2) where does Microsoft use design patterns in its own .NET Framework.


This information, in combination with so much useful source code, is not available anywhere else.



Printable PDF Design Pattern Document

  





4.  3-Tier Pattern Architecture with WCF, WPF, LINQ

Included in the Design Pattern Framework 3.5 is an unique e-commerce reference application named Patterns in Action. It is built on a 3-tier pattern architecture using advanced design patterns that are developed on .NET 3.5 including WPF, WCF, and LINQ.

Patterns in Action shows in great detail (100% source code) how to build a robust 3-tier pattern architecture that supports any UI platform (i.e. the Presentation tier). Each UI communicates with the application via the exact same WCF services (the Cloud Facade Pattern). You will receive 3 completely functional applications with these UIs: ASP.NET, Windows Forms, and WPF.
See screenshots below.



ASP.NET Presentation Tier




Windows Forms Presentation Tier




An amazing WPF Presentation Tier





Did you notice how different these applications are? Yet, they are:
  1. Built on the exact same 3-tier pattern architecture,
  2. Consume the exact same WCF services, and
  3. Use the exact same database.
Quite remarkable!




So what exactly is 'Patterns in Action' ?


Patterns in Action is a real-world, e-commerce 3.5 .NET reference application that clearly demonstrates when, where, and how design patterns are applied in today's modern application design. Of course it comes with 100% source code -- absolutely nothing is hidden.  


Patterns in Action includes features that are common to modern e-commerce application. For example, users can browse a product catalog, view products and product details, add items to a shopping cart, remove items from a shopping cart, change quantities, calculate and recalculate subtotals and totals. Also included is an administrative module from which the administrator manages customer data and reports on customer orders with all order details.


In fact, Patterns in Action contains code that is valuable beyond the realm of e-commerce applications. Examples include: a hierarchical menu system, an error logging facility, encryption routines, business rules engine, and a system of a highly configurable data access objects (DAOs).


Below is an overview with screenshots for each of the 3 UI platforms.






5.  E-commerce ASP.NET Pattern Framework


Here are some additional screenshots of the ASP.NET e-commerce application built on the 3-Tier Pattern Architecture. This application uses a basic MVC (Model View Controller) design pattern.

Remember, Design Pattern Framework 3.5 comes with 100% source code for a rich and rewarding learning experience.  .NET developers who purchased our product tell us they use techniques from this reference application everyday in their own projects.


Login to the WCF Service



Product Catalog and Product List




Product Details / Add to Cart





E-commerce Shopping Cart





Customer Maintenance





Order and Order Details










6.  E-commerce Windows Forms Application


Here are some screenshots of the Windows Forms application built on the 3-Tier Pattern Architecture. This application is built using the MVP (Model View Presenter) design pattern.

Design Pattern Framework 3.5 comes with 100% source code for an optimal learning experience.  If you're building Windows Forms applications you will gain great confidence in applying design patterns and best practices in your own .NET projects.


Login to WCF Service




Customer List with Orders and Order Details





Manage Customers with Add, Edit, Delete Functionality





Edit Existing Customer Record









7.  E-commerce WPF Reference Application


Here are some screenshots of the WPF application built on the 3-Tier Pattern Architecture. This application is built using the MVVM (Model View ViewModel) design pattern.

Remember, all details on how this WPF application was built are available to you: the package comes with 100% source code.   If you are exploring WPF you'll want to avoid early missteps and the Design Pattern Framework 3.5 is a must-have resource that will guide you in the right direction. Unfortunately, these screenshots do not show you the animation effects, including glowing menus and customer items that expand with mouse-overs.


Login to the WCF Service




List of Customers with Images





Manage Customers with Add, Edit, Delete Functionality





Edit Existing Customer Record





View Customer Order and Order Details History








The Design Pattern Framework is very, very popular

Indeed, thousands of .NET architects and .NET developers have come to rely on the Design Pattern Framework. Why, you ask? We'll get to that, but as a lead-in, let's examine the value of 100% source code and why we are #1.

As a .NET developer you know the value of having access to real-world source code written by expert developers. You study the code, internalize the best ideas, and then apply these to your own work.


Exploring master-crafted source code is the most effective way to become confident and productive in applying patterns to your own work.


How do we know?


  • We are professional developers, architects and MCSDs ourselves -- and we know how we got there.

  • We train developers on using design patterns. So we know the most effective way to learn about patterns.

  • Finally, our website has offered design pattern source code for several years now. Every day, we get thousands of developers like you who come here to get the necessary information that will make them succeed in their work and their career. Developers need source code!

Here's some proof that we are the #1 Design Pattern site on the Internet!


Search Google for '.NET Design Patterns'  --  see that we are #1!




Search MSN for '.NET Design Patterns'  --  see that we are #1!




Search Yahoo for '.NET Design Patterns'  --  see that we are #2!




Finally, see what *bookmarking* people are thinking about our design patterns!
Search delicious.com for '.NET Design Patterns'  --  we are #1 and #2!





Our website offers free C# source code samples for the Gang of Four Design Patterns, but the question .NET developers kept on asking is:
 -    where do you find real-world applications that show how, when,
      and where design patterns are really applied? (our answer is below...).


You won't find it in pattern books. Most explain patterns with code samples that include objects with names like Foo, Bar, and Demo -- not objects that are relevant to your application domain.


You won't find it on the Internet either. Nobody in his right mind is going to publish the source code of their successfully architected application on the Web.




Clearly, you're in a catch-22 situation when it comes to finding the real-world sources you need to succeed.



Our Answer

Our answer to this dilemma is the Design Pattern Framework 3.5; a unique product that is not available anywhere else.  It is exactly what .NET developers have been waiting for: detailed explanations and code samples of design patterns -- from basic to advanced; great documentation (e-books, reference guides, UML models, and more); and, to top it off, 3 real-world applications (ASP.NET, WinForms, WPF) all built on a single 3-tier pattern architecture using .NET 3.5 with WCF, WPF, and LINQ.


So there you have it. This explains why thousands of .NET architects and .NET developers have come to rely on the Design Pattern Framework in their daily .NET project work.


This unique resource has been architected from the ground up using the most relevant and up-to-date Design Patterns. It offers a unique glimpse into the world of modern application architecture in which Design Patterns play an integral role. Furthermore, everything in this package is open for inspection and comes with 100% pure source code!


Our e-commerce pattern application, which is part of the Design Pattern Framework 3.5, is named Patterns in Action. As its name implies, there is nothing theoretical here -- it's a real-world .NET 3.5 solution with Design Pattern implementations at key locations: exactly the way expert architects are building their own high-performance .NET 3.5 business applications.



.NET 3.5, WCF, WPF, and LINQ

With the release of .NET 3.5, Microsoft introduced several new technologies, including WPF, WCF, and LINQ.  As a .NET developer you know it takes time and effort to study and internalize these new platforms. And, it takes even more time before you are confident in applying and integrating these into your own projects.


Design Pattern Framework 3.5 is designed to shorten the learning curve for these platforms. It includes a comprehensive set of proven pattern and practices that are presented in the form of real-world code (built on WCF, WPF, LINQ) in our Patterns in Action reference application. With this resource on your side you will become confident and productive quickly and effectively.


It's like learning to walk: you fall and get up many times. Patterns in Action shortens this process and soon you'll be running like a pro making great strides in your new .NET 3.5 pattern lifestyle!






Using patterns to build a robust 3-tier architecture


Many .NET applications do not benefit from a robust 3-tier architecture. They are built on a simple 2-tier client/server model in which all code (UI, business logic, and data access) is placed at one location: the code behind pages.


Indeed, the initial development cycle may be shorter, but in the long run you'll find that these applications do not evolve easily with changing business needs. They are hard to maintain, nearly impossible to change, difficult to integrate (expose as a Web Services for example), and they do not scale very well (for when your website becomes an instant success!).


You may be wondering, how do I build a pattern-based, 3-tier application?
We're glad you asked. Here is how it's done in Patterns in Action:


3-tier application model:

      

In a 3-tier model each tier corresponds directly to one of the three elements needed in an architecture: interaction, manipulation, and storage. The three tiers or layers are:

  • Presentation layer — handles external interaction with the user
  • Business layer — manipulates the information required by the user
  • Database layer — stores the data handled by the system



Now, 3-tier architectures are widely accepted as a high-level best practice approach. However, a few details need to be resolved. For example, how is each tier built and and how do the tiers communicate with each other?


Below is a cross-section that shows some of the technologies used and the communication between the layers. Notice the prominent role that WCF plays. It is a single point of entry (Cloud Facade Pattern) into the application services.


The right-hand-side shows some of the key design patterns used in the reference application. Clearly, patterns play an integral role throughout the entire 3-tier architecture.


3-tier cross-section:        

        


Here are some details on the tiers and their relationships:


The PL: The concern of the Presentation Layer (PL) is to present information in a consistent and easy-to-understand manner to the end-user. Patterns in Action includes fully functional implementations of three UI platforms: ASP.NET, Windows Forms and WPF (Windows Presentation Foundation).


From PL to WCF: Each of the 3 UI platforms consume the exact same services hosted under WCF. This service-oriented model is an implementation of the Cloud Facade Design Pattern. Applications designed this way have the ability to expose their Services (Web or otherwise) with no extra work (other than configuring the WCF host). WCF is truly a powerful new platform!


From WCF to BL: The WCF Service Layer receives messages from the PL. It interprets the message, unpacks the Data Transfer Objects, and orchestrates and coordinates the interaction between Business Objects and Data Access Objects. The Services Layer is also the place where authorization, authentication, data validation, and database transactions are implemented.


The BL: In the Business Layer (BL) you'll find Business objects, such as, Product, Customer, and Order. Business Objects encapsulate business logic in the form of business rules. Business Objects themselves have no knowledge about databases or data persistence, which is handled by the DL.


From BL to DL: In fact, Business Objects do not directly interact with the Data Layer (DL).You don't ask a Product business object to save itself and there are no Save or Load methods on the Business Objects themselves. Instead, persistence is handled by dedicated Data Access Objects (another Enterprise Pattern) that extract data from the Business Objects and subsequently store it in the database.


The DL: The Data Layer (DL) handles the persistence of Business Objects. Patterns in Action offers two different technologies: ADO.NET and LINQ-to-SQL. In web.config you indicate which one to use. ADO.NET implements a 'data provider factory' which uses an abstract factory pattern and returns database specific singleton factories. This example shows that design patterns frequently work together with other patterns. When using LINQ-to-SQL you will see that LINQ generated Entities are mapped to Business Objects.


Even if you do not purchase the Design Pattern FrameworkTM we'd like you to walk away with the following important observation:


Have you noticed that there are no direct interactions between the PL and the BL or DL? In other words, the UI only interacts with the application via the WCF Service Layer. This is by design. The reason is that security, data validation, and transactions are managed at the Service Layer. The UI is not allowed to bypass these important functions. Therefore, all communication with the application must go through this single point-of-entry (Cloud Facade) which is hosted under WCF.





Building a 3-tier application structure


Once you've decided to build your .NET application following a modern, pattern-based, 3-tier architecture, you may be asking yourself: How do I organize and structure my Visual Studio .NET Solution and Projects? Patterns in Action will demonstrate exactly how this is done - again, with great documentation and 100% pure source code.

Below are 3 annotated screenshots that show the Solution Explorer of this reference application.


The first screenshot shows the layers in the application. They have been numbered so that they display in a logical top-to-bottom order.


Physical Layers in 'Patterns in Action':        

        



The next screenshot shows all 21 projects. Notice the 3 different UI platforms in the Presentation Layer (ASP.NET, WinForms, and WPF). As explained earlier, each of these UI platforms consume the exact same services in WCF, which, in turn, rely on the same Business, and Data Layers (discussed below).


Projects in 'Patterns in Action':        

        



Finally, the third screenshot shows the complete set of re-usable classes, types, and design patterns that you will receive with your Patterns in Action solution:


Classes and other Types in 'Patterns in Action':        

        




Gang of Four Design Patterns


Patterns in Action incorporates all of the frequently used Gang of Four patterns, such as, Facade, Singleton, Abstract Factory, Observer, and Proxy. Here are some details on how these patterns are used in the application:



Facade

The Facade design pattern plays a key role in the application. Not only does it enhance and simplify the design of the application, it also makes it easy to be integrated into a larger WCF based SOA (Service Oriented Architecture). The WCF services are exposed as a single-point-of-entry for any platform and any application that consumes its services on the cloud. This is why it has been named Cloud Facade.

With the Facade pattern, the code-behind is often as simple as this: (note: the controller internally invokes the Facade - or Service Layer):


 CustomerController ctrl = new CustomerController();

 DataViewCustomers.DataSource = ctrl.GetCustomers();
 DataViewCustomers.DataBind();



Composite

The ASP.NET menu system is designed as a hierarchy with parent and child nodes. This self-referencing tree structure is implemented using the Composite design pattern.


Observer

Error logging and tracing are implemented with the help of the Observer pattern. Observer classes register themselves with the Logger and listen for Log events. In fact, two design patterns are at play here as the Logger class is a Singleton also.


Strategy

Patterns in Action comes with a fully functional e-commerce shopping cart. Items can be added, removed, and recalculated in the cart. The Strategy pattern is used to swap out different strategies for shipping charges (and can easily be extended to include tax and insurance computations, if necessary).


Abstract Factory + Singleton

The Abstract Factory pattern solves the problem of accessing different databases. Database specific factories are created which themselves are Singletons. These factories allow you to change databases simply by changing an entry in web.config. Databases supported include: MS Access, SQL Express, and SQL Server.


Proxy

Proxies typically are surrogate objects that represent external resources that are slow or not guaranteed to be always available. In Pattern in Action we demonstrate database proxies and WCF client proxies. These are 'stand-ins' or proxies for the real objects.




  Enterprise Design Patterns


Since the publication of the original 23 Gang of Four patterns additional design patterns have been 'discovered'. Especially important are the Enterprise Design Patterns as documented in Martin Fowler's popular book: "Patterns of Enterprise Application Architecture".

You'll be pleased to know that more than a dozen of these valuable patterns are included in Patterns in Action.

All this adds up to an even greater learning experience!  Again, you will not find this kind of information anywhere else -- certainly not with 100% source code! Here is the list of Enterprise Patterns that were used to build this application.


Enterprise Design Patterns
Pattern Description
Transaction Script Organizes business logic by procedures where each procedure handles a single request from the presentation.
Domain Model An object model of the domain that incorporates both behavior and data.
Service Layer Defines an application's boundary with a layer of services that establishes a set of available operations.
Lazy Load An object that doesn't contain all of the data you need but knows how to get it.
Identity Field Saves a database ID field in an object to maintain identity between an in-memory object and a database row.
Foreign Key Mapping Maps an association between objects to a foreign key reference between tables.
Page Controller An object that handles a request for a specific page or action on a Web site.
Template View Renders information into HTML by embedding markers in an HTML page.
Transform View A view that processes domain data element by element and transforms it into HTML.
Remote Facade Provides a coarse-grained facade on fine-grained objects to improve efficiency over a network.
Data Transfer Objects An object that carries data between processes in order to reduce the number of method calls.
Service Stub Removes dependence upon problematic services during testing.





 Model-View Design Patterns

The Model-View-Controller (MVC) design pattern is one of the oldest and best known design patterns (first reported in 1979). Over the years, it has been used with great success in the design of many applications (e.g Microsoft Excel).

However, over time, as more modern languages and technologies were introduced, several expert designers started making adjustments to the original MVC pattern. In particular the Controller class has taken on some of the responsibilities that were originally assigned to the View class. This transition has led to the creation of a family of patterns that are known as the Model-View patterns.

In .NET the most important varieties in this group are: Model View Controller, Model View Presenter, and Model View ViewModel. All of these valuable patterns are included in Design Pattern Framework 3.5. This is where you find them:

  • MVC -- ASP.NET Web Application
  • MVP -- Windows Forms Application
  • MVVM -- WPF Appication
Next is summary of the MV design patterns in Patterns in Action.


MVC: Model-View-Controller
ASP.NET Web Application Pattern Description
MVC and ASP.NET are not a natural match which is why Microsoft has been building a parallel ASP.NET MVC platform.

In Patterns in Action we demonstrate a loose implementation of the MVC pattern with ASP.NET. Its focus is on several, rather useful, Controller classes that communicate with the Model via WCF (Cloud Facade pattern).



MVP: Model-View-Presenter
Windows Forms Application Pattern Description
MVP is a derivative of MVC and is a widely used pattern in .NET, particularly in the Windows Forms platform.

The goal of MVP is to move business logic (e.g. selection, validation, authorization) from the View class into the Controller class. The UI is not a good place for business logic in a 3-tier application model.

One of the great benefits of MVP over MVC is that it is better suited from automatic unit testing.



MVVM: Model-View-ViewModel
WPF Application Pattern Description
This is the new 'kid on the block' that was first reported a couple years ago. Microsoft has successfully used this pattern to build the Expression Blend product.

It is a fairly complex design pattern that is well suited for modern platforms like WPF. To use it requires that you are familiar with Commands and Data Binding in the new WPF platform.







Bonus 1:  Getting Started Guide


The Design Pattern Framework 3.5 comes with a lot of information. To help you get started quickly and navigate throught the different pieces of the Framework we now include, as a bonus, an easy-to-read Getting Started guide. This guide will get you up and running quickly and, before you know it, you'll be joining the ranks of expert NET architects that live the .NET 3.5 pattern lifestyle.




Here are the sections included in this guide:
  1. Setup and Installation
  2. Database Configuration
  3. Projects and E-books in the Framework
  4. Learning about Design Patterns
  5. What are Design Patterns
  6. Exploring Design Patterns
  7. Applying Design Patterns




Bonus 2:  SOA and Messaging Design Patterns


As a bonus you will receive a rich set of SOA and Messaging design patterns. These patterns play a central role in the WCF projects. Patterns in Action contains two project types that are built on WCF:

  1. WCF Hosting, and
  2. WCF Services

The WCF Hosting projects manage singleton resources, that is, resources of which just one instance can exist, such as, a databases or customer images. The WCF hosting options are configured in the web.config file. These projects usually have very little code.

On the other hand, the WCF Service projects are usually 'code-rich' and, in Patterns in Action contain numerous examples of SOA patterns that help you design clean, message-oriented APIs.  Below is an example of such an API which is the entire service API for Patterns in Action. Notice how incredibly simple it is.  Each of the 3 UI platforms (ASP.NET, WinForms, WPF) are clients to the exact same API. Quite impressive.


/// <summary>

/// Interface for Patterns in Action public services.

/// </summary>

[ServiceContract(SessionMode = SessionMode.Required)]

public interface IActionService

{

  [OperationContract]

  TokenResponse GetToken(TokenRequest request);

 

  [OperationContract]

  LoginResponse Login(LoginRequest request);

 

  [OperationContract]

  LogoutResponse Logout(LogoutRequest request);

 

  [OperationContract]

  CustomerResponse GetCustomers(CustomerRequest request);

 

  [OperationContract]

  CustomerResponse SetCustomers(CustomerRequest request);

 

  [OperationContract]

  OrderResponse GetOrders(OrderRequest request);

 

  [OperationContract]

  OrderResponse SetOrders(OrderRequest request);

 

  [OperationContract]

  ProductResponse GetProducts(ProductRequest request);

 

  [OperationContract]

  ProductResponse SetProducts(ProductRequest request);

 

  [OperationContract]

  CartResponse GetCart(CartRequest request);

 

  [OperationContract]

  CartResponse SetCart(CartRequest request);

}



Another take-away here is that WCF Service APIs are not object-oriented. Instead, they are message-oriented, in which each method call represents a complete, self-contained, transaction.

SOA and Messaging patterns make extensive use of Data Transfer Objects (an Enterprise Pattern). SOA is a relatively newcomer to the pattern scene, but SOA patterns have been evolving rapidly. You will find several popular ones implemented in the Patterns In Action reference application (as an extra bonus). These include:

  1. Cloud Facade design pattern,
  2. Document-Centric design pattern,
  3. Request-Response design pattern,
  4. Idempotent design pattern,
  5. Message Router design pattern, and
  6. Private Identifier design pattern

Of course, everything comes with 100% source code and extensive documentation for a rich learning experience.





Bonus 3: Head First Design Patterns


If you have been following what is going on in the world of design patterns then you know that the Head First Design Patterns book has created quite a stir. It is one of those rare gems that has the ability to make something as complex as design patterns, easy and fun to learn. See for yourself and check out the reviews on Amazon or bookpool.com.

This book is targeted at Java developers and comes with code samples in Java. We all know that Java is similar to C#  but the samples use Java types and Java packages which makes the code all but irrelevant for .NET. Examples are: Swing, Applets, Observer/Observable types, Java I/O classes, and Java RMI (remote method invocation). It's hard to study these patterns and be concerned about subtle, and not so subtle, language and platform differences.


We are happy to inform you that as an extra bonus the Design Pattern Framework includes a complete set of Head First Design Patterns in C# and VB.NET. You'll get a total of 46 Head First Design Pattern projects nicely packaged in an easy to use .NET solution. Simply create a shortcut on your desktop, double click, and all source code projects are available at your fingertips.


Head First Design Patterns for .NET





The Head First book itself does not reference the Java code samples which makes it hard to link the samples back to the appropriate pages in the book.

This is why we are including a reference document that associates each .NET project back to the appropriate page number where the discussion of the pattern begins. This document also highlights the differences between Java
(i.e. the book) and the .NET implementations of these patterns. So, snuggle up in your favorite chair with this book and the .NET code samples and make learning design patterns a fun experience.


Head First Reference Document





You may be interested to know that your Head First package comes with a great .NET implementation of the MVC (Model View Controller) design pattern which is considered the 'grand daddy' of all design patterns.


Model View Controller Pattern








The benefits are clear

As you can see, the Design Pattern Framework is a unique product. It has the information you need to make informed decisions about when, where, and how to apply proven design patterns. This is the kind of product that will change your outlook on development as you start incorporating patterns confidently and comfortably in your own work.

The benefits of design patterns are clear: your applications will be easier to maintain, easier to support, and they will perform better. In modern terminology: your applications will be more flexible, more adaptable, more manageable, and more scalable. And, last but not least, your customers and your boss are going to be delighted! The Design Pattern Framework truly is an investment in your success.

There is no comparable product. We urge you to order your own copy and get started right away. What do you have to lose for just $79?





Another unsolicited letter from a delighted .NET developer.

Your Framework is excellent. I have been trying to learn patterns for a couple of years with very little success but this has worked wonders in a couple of days and I am up to speed!


Javaid Karim
Freelance .NET Developer
DataByte Computing
London, UK


     Which of these benefits of the Design Pattern Framework
     could you use to enhance your career?

  • Write programs that evolve easily with changing business needs
  • Increase maintainability of existing applications
  • Apply and combine patterns to build scalable, 3-tier applications
  • Appreciate how design patterns are integral to modern architecture
  • Be comfortable with the vocabularly of expert designers
  • Discuss intricate architectures with your team members
  • Confidently present patterns and their benefits to business leaders
  • Use best practice 3-tier pattern designs in your own work
  • Reuse patterns to common elements of enterprise solutions
  • Understand that patterns lead to design and architectural success
  • Gain a deep understanding of how expert developers solve real-world problems with design patterns
   and so much more...




Choose your favorite edition: the C# edition or VB.NET edition. Or both!



You're just a couple of clicks away from your own Design Pattern Framework. Order now and within minutes you'll be exploring these amazing patterns.



60 Day risk-free money-back Guarantee

Your satisfaction is 100% guaranteed!  If, after you have explored the materials, you feel that the Design Pattern Framework 3.5 is not going to improve your .NET applications, then please contact us within 60 days of the date of your purchase and receive a full refund.




Here's how to order the Design Pattern Framework


Ordering is easy. Select the edition you want and click the 'Buy Now' button. Following payment you will receive an email with your password. Use it to login to our product download area and instantly download your own copy of the Design Pattern Framework.


Your password will be valid for a full year and allow you to download any new or updated releases during that period for FREE!.



Design Pattern FrameworkTM
 C# Edition - single user
$79
Design Pattern FrameworkTM
 VB.NET Edition - single user
$79
Design Pattern FrameworkTM
 C# + VB.NET Edition - single user
$99




Developing with a team?

Alternatively, if you are working with a development team it may be more cost effective to order a 16-user license pack of the Design Pattern Framework.

Compare these prices to formal classroom training. You'll see that this is a very cost effective way to get your team going with design patterns. Order details are below.



Design Pattern FrameworkTM
 C# Edition - 16 users
$249
Design Pattern FrameworkTM
 VB.NET Edition - 16 users
$249
Design Pattern FrameworkTM
 C# + VB.NET Edition - 16 users
$299



Alternatively, order a site-wide license which allows unlimited users at a single physical address to benefit from the Design Pattern Framework.



Design Pattern FrameworkTM
 C# Edition - unlimited users at single site
$549
Design Pattern FrameworkTM
 VB.NET Edition - unlimited users at single site
$549
Design Pattern FrameworkTM
 C# + VB.NET Edition - unlimited users at single site
$599

P.S.: The Design Pattern Framework is the kind of product that you will not find anywhere else. Remember, it comes with 100% source code. At a small cost, you're making a big investment in your success. It is the kind of investment that will pay you back many times over in the next year alone.


P.P.S.: The low price of just $79 is a special introductory offer which may change at any time. You can lock-in this introductory price by ordering now!


P.P.P.S.: If you are not planning to take advantage of the Design Pattern Framework, then you're not going to get the ultimate benefits either -- better code, better applications, a better career, and a better lifestyle.


P.P.P.P.S.: Place your order now. And do it with confidence, because it is backed by a 100% guarantee. Our full 60-day money-back guarantee will give you plenty of time to explore and evaluate the Design Pattern Framework 3.5.


P.P.P.P.P.S.: If you miss this, you will kick yourself...





By purchasing and downloading the products you agree to the terms.


Share/Save/Bookmark