Chapter 13. Principles of Software Design

There is nothing like returning to a place that remains unchanged to find the ways in which you yourself have altered.

Nelson Mandela

Maintaining a software application is probably harder, and definitely more bothersome, than writing it from the ground up. A large part of a developer’s career is spent performing maintenance tasks on existing code rather than planning and writing new software. Armed with this knowledge, I usually advise developers and architects I work with to always give top priority to one specific attribute of the numerous possible attributes of a software system—that attribute is maintainability.

The biggest challenge that many software architects face today is how to design and implement ...

Get Programming Microsoft® ASP.NET 4 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.