Solution Architecture – Tightly Coupled Components
Recently I was asked by a client to review some in-house applications. The client explained his pain point - “Every time we make a change something else breaks”. This is a portent for solutions that violate two important principles: separation of concerns and the single...
Solution Architecture – Principles and Patterns
As an introduction to this series of post on solution architecture, I have outlined the key principles and patterns that I use to design and architect real world applications. Domain Driven Design Domain driven design is a collection of principles and patterns based on two premises: that complex...
Database Version, Editions and Compatibility
With the upcoming release of SQL Server Code Name “Denali”, the next version of Microsoft SQL Server, the supported upgrade paths have changed and are an important consideration for customers on a down-level version of SQL Server. There is some confusion on the differences between database...
Design Patterns: What’s in a name?
Jeff Atwood wrote in 2007 on how discipline makes strong developers and expanded on Scott Koon’s post about the importance of discipline as a developer trait: But there is one quality that all successful developers possess. One trait that will make or break every project. Discipline. An...
The Case of the Missing Application Name
Developers take great care in adding assembly attributes, like title, description, company name, product, copyright, version and culture information, to their applications. However, application names are seldom used in SQL Server connection strings. This is somewhat unfortunate as the...