Patterns in Practice: The Open Closed Principle
Extending an existing codebase can be as productive and frustration-free as writing all new code when you employ the Open Closed Principle. We'll show you how.
Jeremy Miller - June 2008
Patterns in Practice: Object Role Stereotypes
Object role stereotypes can help you better understand and clarify the responsibilities of the objects in your application.
Jeremy Miller - August 2008
Patterns in Practice: Persistence Patterns
Here we examine data persistence patterns to help you determine which best suits your needs. We look at a number of patterns, including the Active Record, the Data Mapper, the Repository, the Identity Map, the Lazy Loading, and the Virtual Proxy.
Jeremy Miller - April 2009
Patterns in Practice: Convention Over Configuration
We look at some techniques you can adopt to reduce the amount of housekeeping code you write so you can focus on the essence of the application.
Jeremy Miller - February 2009
Patterns in Practice: Design For Testability
Designing testability into your app means smaller tests that are cheaper to create, easier to understand, faster to run, and much simpler to debug.
Jeremy Miller - December 2008
Patterns in Practice: Cohesion And Coupling
Here are some design patterns that allow you to achieve higher cohesion and looser coupling for more flexible, reusable applications.
Jeremy Miller - October 2008
Patterns in Practice: The Unit Of Work Pattern And Persistence Ignorance
Jeremy Miller continues his discussion of persistence patterns by reviewing the Unit of Work design pattern and examining the issues around persistence ignorance.
Jeremy Miller - June 2009
Patterns in Practice: Incremental Delivery Through Continuous Design
The end goal of software projects is to deliver value to the customer. Software design is a major factor in how successfully a team can deliver that value. The best designs are a product of continuous design rather than the result of an effort that tries to get the entire design right up front. This approach lets you strive to apply lessons learned from the project to continuously improve the design, instead of becoming locked into an erroneous design developed too early in the project.
Jeremy Miller - August 2009