Chapter 3. Principles of software design

All programming is maintenance programming because you are rarely writing original code. It’s only the first 10 minutes that the code’s original, when you type it in the first time. That’s it.

—Dave Thomas and Andy Hunt

A popular saying in software development is that good architecture is architecture in which all hard-to-change decisions turn out to be right. Software architecture is about implementing behavior around pillars. Changing pillars on the go is obviously problematic, but it might become necessary if the pillars fail to support enough weight, or if you think of a better idea. Ensuring that code can survive changes and extensions is the Holy Grail of software, and it’s exactly the theory that ...

Get Microsoft .NET: Architecting Applications for the Enterprise, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.