Beautiful Design

When you ask people what they consider to be good software design, they often say that the design has to be beautiful and elegant. It's the aesthetic nature of a good design that allows you to tell that it's good. I find that although good designs often do have a certain beauty to them, they are good designs for much different reasons. Good designs allow you to maintain your code. In a good design, you can make changes easily without affecting the rest of the system - in other words, it doesn't exhibit rigidity. In a good design, changing code doesn't incur a high risk that something else will break - in other words, it doesn't exhibit fragility. In a good design, the designer's intentions are clearly expressed by the code itself and the code is easy to read. All of these factors lead to a beautiful design, but the important aspect of a beautiful design is that it allows you to continue developing the application more easily.

Download