"Divide & Rule" also known as divide and conquer is a very famous way to attack the problem. History witnessed this strategy work in very complex situation. It is very famous in political and military circle. It is used to influence countries, win wars and play a big role in international politics.
In corporate people also take the help of this rule frequently. In Computer Science Design of Algorithm classes it is one of technique to attack a problem.
Mostly when we plan for enterprise software previous experience says that maintenance is more costlier than developing. With time requirements, business rules change for which maintenance is really necessary. As Change is the only constant in this world, we can not avoid the situation. So maintainability is the highest precedence while designing or developing an application. That is the reason Object Oriented languages (Java, C#, C++ etc.) are popular. They have the feature to mange the complexity of software better than procedural language. So basically OO design means managing the complexity. Divide the complex functionality into integration of smaller/maintainable component. How to and what extend to divide ... These are some decision which designer has to take to have a optimum solution.
So next time we face a problem this will be an handy technique to approach it ......
In corporate people also take the help of this rule frequently. In Computer Science Design of Algorithm classes it is one of technique to attack a problem.
Mostly when we plan for enterprise software previous experience says that maintenance is more costlier than developing. With time requirements, business rules change for which maintenance is really necessary. As Change is the only constant in this world, we can not avoid the situation. So maintainability is the highest precedence while designing or developing an application. That is the reason Object Oriented languages (Java, C#, C++ etc.) are popular. They have the feature to mange the complexity of software better than procedural language. So basically OO design means managing the complexity. Divide the complex functionality into integration of smaller/maintainable component. How to and what extend to divide ... These are some decision which designer has to take to have a optimum solution.
So next time we face a problem this will be an handy technique to approach it ......