Software design Articles
« Please Do Not Break Into
If you are using an Object-Oriented language (writing code in a DSL can change things a bit, it depends on the DSL) you should specify and verify the objects themselves and not how they are implemented.
« The Unit of Testing is the Unit of Maintainability
If you consider yourself to be mature enough, to drop testing pay attention to the minefields you may be leaving behind.
« Architecture Is About People
Probably one the least understood aspects of the architect role is that the software development team **(which the architect is part of)** is itself a very important stakeholder. The architecture has to fulfill requirements from the system users, the project sponsors and developers.
« 2010 In Books
Let me try to compile here a list with the books I've read in 2010. I'll also add a very quick review.
« Everyday Tales: We Call It Unit For A Reason
Aggregations and compositions are not just collaborations; they are part of the class internal design and should not be exposed; not even to tests.
« Agile Architecture: 4 Common Strategies
When a project starts, I don’t care about having a sound and complete architecture. What I do care about is having a reasonable strategy for dealing with architecture decisions.
« Internal Data Transfer Objects
A recurrent question when it comes to real world usage of Domain Models is how to integrate the Presentation and the Business Layer.
« Expressiveness Omnibus
Recently a friend discovered this blog. She asked me why do I write so much about Expressive Design. I will try to give some overview of the topic and link to the many articles in this blog about specific points.
« One Mock Per Test Considered Not Awesome
Using mocks and interactions as drivers for test cases you away from good specifications; always keep in mind that we should only bother about what, not how
« Better Functional Design Through TDD - Slides
Slides from the presentation
« Nevermind Domain-Driven Design
I’m just too tired of how our industry just does not get the difference between Domain-Driven Design and Object-Orientation.
« My Experience With TDD In Clojure
So far, my experience with TDD in functional programming is that it is just as beneficial in this paradigm as it is in more traditional ways to think about software.
« Rules Of Thumb Are Warning Bells
There is nothing wrong with rules of thumb if one keeps in mind that those are there just to help you remember some fundamental principle.