web 2.0

Application Architecture Guide

Patterns and practices logo Patterns&Practices team released the second version of .NET Application Architecture Guide, which provides guidance for architecture principles, design principles and trusted patterns.

It helps developers and architects to build more effective, high quality .NET applications.

It is also a good overview of software architecture for students.

Read .NET Application Architecture Guide PDF (on MSDN)

MVVM – Model View ViewModel Pattern

MVVM pattern

MVVM pattern

MVVM which stands for Model-View-ViewModel is a relatively new pattern supporting development of WPF and Silverlight Applications.
It is  based on well-known MVC and MVP patterns, but it is actually adapted to take the advantage of data binding in WPF.

I started to look for appropriate architectural pattern for Large Silverlight LOB Applications and I was wondering if I can rely on MVC.
Then I found out, that there is already a design pattern targeted at modern UI development platforms called Model-View-ViewModel, introduced by John Gossman in 2005.

It is actually a Martin Fowler’s PresentationModel design pattern adjusted for WPF & Silverlight.
Continue reading »

Domain Model

Decoration

Decoration

A better pattern for business logic layer.

Let me to introduce you the 3 base patterns to organize your domain logic: Transaction Script, Domain Model and Table Module.

Transaction Script
Organizes business logic by transactions. Logic for each of the CRUD operations and other business logic over data is encapsulated in one transaction script. So every transaction is a unique procedure which handles a single request from the presentation. These transactions usually do direct calls to the database like Stored procedures calls or Dynamic SQL queries.

Domain Model
An object model, which describes entities and relations between them in the domain. It’s one of the key aspects of Domain Driven Design.

Table Module
A single instance that handles the business logic for all rows in a database table or view.

For object-oriented programmers the Domain Model pattern would be the best understandable pattern, altgough many of them are still getting in touch mainly with the first Transaction Script pattern.

This article is about how Domain Model works, how to use it and how to implement it.
Continue reading »

Patterns of Enterprise Application Architecture

P EAA book

P EAA book

Development of Enterprise applications is not an easy process and there are a lot of problems you have to cope with. Martin Fowler, consultant on the design of enterprise software, has written a book clarifying architectural patterns, domain modeling, OOP programming and other patterns.

A short summary of EAA patterns can be found in his catalog.

Continue reading »