Category Archives: design

The open closed principle

In the previous two posts I discussed the S of S.O.L.I.D. which is the Single Responsibility Principle (SRP) and the D of S.O.L.I.D. which corresponds to the Dependency Inversion Principle (DI). This time I want to continue this series with … Continue reading 

| 7 Comments

Entropy in software

One of the greatest lessons I had growing up was from my music teacher, on improvement: You’re either getting better or getting worse, but you’re never standing still The same applies to a software system.  Any software system’s design either … Continue reading 

| 3 Comments

The Dependency Inversion Principle

In this post I want to discuss the D of the S.O.L.I.D. principles and patterns. The principles and patterns subsumed in S.O.L.I.D. can be seen as the cornerstones of “good” application design. In this context D is the place holder … Continue reading 

| Leave a comment

Enabling success with opinionated architecture

One of my pet peeve questions I often see on various tech mailing lists is “How can I prevent situation XYZ”.  In one recent case, it was “How can I prevent UI calls to mutable methods in the domain?”  The … Continue reading 

| 5 Comments

Oxite Review

Several folks, including Microsoft employees and members of the Oxite team, have politely requested I do a post or few on the problems I see with Oxite and why I previously recommended that it is not a good example/sample from … Continue reading 

| 19 Comments

SystemTime versus ISystemClock – dependencies revisited

Yes, it’s true, I’m a big fan of the Dependency Inversion Principle and Dependency Injection.  Scandalous!  But there are some situations where DI can make your classes…rather interesting. In one recent example, we needed to model an Occupation.  A person … Continue reading 

| 7 Comments

Internal DSL Pattern: Nested Function

This is a portion of a larger set of posts on the subject of Internal DSLs. Nested Function is a pattern explained by Martin Fowler as part of his DSL book work in progress. Fowler’s take on Nested Functions is … Continue reading 

| Leave a comment

Internal DSL Pattern: Method Chaining

This is a portion of a larger set of posts on the subject of Internal DSLs. Method Chaining is a pattern explained by Martin Fowler as part of his DSL book work in progress. Fowler’s take on Method Chaining is … Continue reading 

| 2 Comments

ALT.NET Workshops: Internal DSL Draft Outline, Notes

I’ve been preparing for the upcoming ALT.NET Workshop (associated with KaizenConf) on Internal Domain Specific Languages (DSL).  The schedule hasn’t been released yet, but I’m pretty sure the Internal DSL workshop will be on Friday 31-OCT (don’t quote me just … Continue reading 

| Leave a comment

NotImplementedException and the Interface Segregation Principle

This week, Derrick Bailey will be in town (Austin) to talk about the SOLID principles.  One of the hardest ones to talk about, and find examples for, is the Interface Segregation Principle.  The ISP states: CLIENTS SHOULD NOT BE FORCED … Continue reading 

| 7 Comments