Ehsan Ghanbari

Experience, DotNet, Solutions

Introducing book: Patterns of enterprise application architecture

Patterns of Enterprise Application Architecture by Martin Fowler is one the most famous book about the patterns and software architecture. I've read this book and it's still one the best source for me when I'm going to choose the best patterns and architecture for my solutions. It's a book for designing the multi-tiered object-oriented platforms, such as Java and Microsoft Dot Net. It's too important to design your application based on standard architectures and patterns.

If you want to be a real software architect I recommend to complete this book. each section in this book contains a detailed discussion of trade-offs and pitfalls and provides a consistent vocabulary and visual notation to describe large-scale integration solutions across many implementation technologies. The patterns in the book are technology-agnostic and come to life with examples implemented in different messaging technologies, such as SOAP, JMS, MSMQ, .NET, TIBCO and other EAI Tools.

The book is available to purchase here.




You can see the books short summary below (more information

Domain Logic Patterns: Transaction ScriptDomain Mode Table ModuleService Layer.

Data Source Architectural Patterns: Table Data GatewayRow Data GatewayActive RecordData Mapper.

Object-Relational Behavioral Patterns: Unit of WorkIdentity MapLazy Load

Object-Relational Structural Patterns: Identity FieldForeign Key MappingAssociation Table MappingDependent MappingEmbedded ValueSerialized LOBSingle Table InheritanceClass Table InheritanceConcrete Table InheritanceInheritance Mappers.

Object-Relational Metadata Mapping Patterns: Metadata MappingQuery ObjectRepository.

Web Presentation Patterns: Model View ControllerPage Controller, Front ControllerTemplate ViewTransform ViewTwo-Step ViewApplication Controller.

Distribution Patterns: Remote FacadeData Transfer Object

Offline Concurrency Patterns: Optimistic Offline LockPessimistic Offline LockCoarse Grained LockImplicit Lock.

Session State Patterns: Client Session StateServer Session State,Database Session State.

Base Patterns: GatewayMapperLayer SupertypeSeparated InterfaceRegistryValue ObjectMoneySpecial Case,PluginService StubRecord Set


Introducing book: Domain-Driven Design: Tackling Complexity in the Heart of Software

This book is available here to purchase, I've read this book only for once! As I'm really interested in DDDesign, I'm planning to read it several times. Just try to read this book and complete it! It's a little bit dry book but is the best resource for Domain Driven Design. it provides a broad framework for making design decisions and a technical vocabulary for discussing domain design. As you can see in Amazon and, lots of heroes have been talked about this book:

“Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. “His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers—it is a future classic.”

     —Ralph Johnson, author of Design Patterns




“If you don’t think you are getting value from your investment in object-oriented programming, this book will tell you what you’ve forgotten to do.

“Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion.”

     —Dave Collins, author of Designing Object-Oriented User Interfaces


“Eric weaves real-world experience modeling—and building—business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric’s descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field.”

     —Luke Hohmann, author of Beyond Software Architecture

About Me

Ehsan Ghanbari

Hi! my name is Ehsan. I'm a developer, passionate technologist, and fan of clean code. I'm interested in enterprise and large-scale applications architecture and design patterns and I'm spending a lot of my time on architecture subject. Since 2008, I've been as a developer for companies and organizations and I've been focusing on Microsoft ecosystem all the time. During the&nb Read More

Post Tags
Pending Blog Posts
Strategic design
Factory Pattern
time out pattern in ajax
Selectors in Jquery
Peridic pattern
How to query over Icollection<> of a type with linq
How to use PagedList In MVC
Domain driven design VS model driven architecture
What's the DDD-lite?
Using Generic type for type casting in F#