Friday, June 13, 2008

This is for Technorati




This post is for Technorati's spiders...


Technorati Profile

Friday, June 6, 2008

Behavioral patterns



Recently was going through the software design patterns. Well, for people who are alien to the software, design patterns are the solutions to the most commonly occurring problems in design. They are tested and proven. You can say that they are analogous to the axioms, which are true, foolproof and don't need to be proved so. Now my intention is not give any gyaan on a technical topic. You can get a lot of info from various links that are available across the internet. There are a bunch of design solutions that are well proven. And if you are a software architect and come across a problem in a context you SHOULD be using one of them. (Sometimes it might not serve the purpose but still... people use for the heck of it). Well, what does such design solutions or patterns do? Of course, they will remove the burden of finding a foolproof solution to the most commonly occurring problem. But is that all? No. They limit your thinking, analyzing and solution finding capacity. Any ready made solution kills the urge and the curiosity to find better solutions. I can give you a better example; all of us have solved maths problems in our school days. When the teacher used to solve them on the board did any one of us thought that there could be a better solution? Worst, we used to note that and solve the them in the same way in the exam. Applying this to the design patterns... Do they help in solving the problems in software design or do they limit the inherent thinking capacity of humans? Recently had an opportunity to interact with an eminent Prof of IIITB (IIITB is a deemed institute in Bangalore and offers postgraduate courses.) According to him, patterns (could be architectural or software) came up when there was a need to offer solution to same type of problem. Why would you think for the different way when there was ready made, existing solution for the problem? This surely does not mean that people stop finding better patterns. Human mind is truly amazing, a ready made (and a so-called foolproof) solution before you and your mind just uses it blindly.

Another example to prove the unusual behavior of human mind. Imagine that you have an important meeting in the office and leave home early. When you are half way through, you discover that the municipal corporation has dug the road in between to carry out construction task. It is the only known road to you and you are in a hurry to reach the office. Luckily a friend who is accompanying you knows an alternate route and you follow his directions. While returning from office you follow the same alternate route. Applying the readymade solution funda, how many of us would pause and think for a better route? Only a few I guess. You take the same route for office for next few months. Then one fine day, municipal corporation is done with the construction work and opens the original route. Now which route do you use? I can bet that most of you would still have the urge to use the new alternate route in spite of knowing that the original route is open. The simple reason is that your mind which is accustomed to using the new route is now reluctant to revert back to the original route. Human mind prefers stability and resists change. Nature has bestowed precious human minds with unusual gifts. Most of them are awaiting to be discovered… More of this some other time…

Hmm... Quite a lengthy post. Will get back to you when my mind comes up with an urge to write. Till then, take care and God bless.