Wednesday, September 9, 2009

Pattern Language: Excerpts from Christopher Alexander (A timeless way of building)

These 3 chapters are talking about the buildings and their construction process and not so directly related to software architecture or software building but they naturally convenes us that it is our nature to observe a pattern and apply it when ever we needed to achive what ever we are looking to achieve. These chapters are very interesting to read and were given with great but simple examples. Author explained an analogy of how a flower can't be made rather it is generated from a seed. Similarly, The quality in towns and buildings cannot be made but rather generated indirectly by the ordinary actions of the people. Later on, author explains how patterns allow people to build new buildings in unique workable way but resembles similarities in the basics in building structures. This chapter includes an example of how farmer build his barn using / following basic patterns like barn shape , size and how to divide the barn space etc.. (Very interesting)

I like this from book:

"A pattern languages gives each person who uses it, the power to create an infinite verity of new and unique buildings, just as his ordinary language gives him the power to create an infinite variety of sentences."

3rd chapter beginning talks about how natural it is a person to choose a best place to build something to utilize the existing benefits of that place. But this chapter gives some reasoning’s on how to choose and what to keep in mind while choosing it. Example it suggest to keep open the south side of the building to get more light in to the house and asks to build the house around the trees and not to destroy them as they take more time to grow again. This one solely talks about building layout needs and patterns to choose based on different conditions of the area. Example – if it is impossible to get lighting to both sides of the room then suggest having more windows on the side of the room where you get light so that reflection can fill the whole room.


So, based on above I am implying this for software building:

You can’t create a quality solution rather generate it by following patterns and applying them according to needs to achieve required functionality and still create it your own unique way. Make sense!!!! Right? One more thing, this also supports prof. Johnson’s saying “don’t reinvent the wheel but rather reuse it in your own unique way”

No comments:

Post a Comment