Design Patterns And Frameworks Article Index for
Design
Website Links For
Design
 

Information About

Design Patterns And Frameworks




Design patterns is an approach which helps in addressing specific design problems during S/W development…They make it easier to reuse successful designs and architectures. They help you choose design alternatives that make the system reusable, flexible and extensible, and avoid alternatives that compromise reusability. These patterns are not bound to particular language. They are generalized and developers are free to use these patterns in any language. Put simply, design patterns help a designer get a design "right” faster.

For instance MVC design pattern…This pattern contains three kinds of objects namely Models, Views and Controllers. The Models don’t care what Views are(It can be seen as a container holding the data) ,the view can just be seen as a renderer(Painter) which has to know about the models and the controllers does all the controlling and handling of events. Thus the roles are separated and there exists a loose coupling between objects.
So u can attach multiple views having a common model lying behind.

On the other hand Frameworks represent the whole architecture of the system…They capture the design decisions that are common to its domain. Frameworks hold a collection of intelligent objects…A framework can contain lots of design patterns…It describes what objects will collaborate for achieving certain goal, decide the roles of the objects and how they are separated, what abstractions are and their levels, describe the partitioning into classes and objects . It provides a means of architecture reuse over code reuse. A framework provides a set of interfaces which are left for the developer to implement.

For instance, a framework can be seen as a motor Engine to which we have to just supply fuel and it takes care of generating energy for driving the vehicle…Here the point to be noted is how energy is generated, what machine parts (Objects) collaborate to achieve the goal, how these parts work, what roles they have and how the roles are separated is solely the business of the engine (Framework)…

Frameworks are becoming increasingly common and important. They are the way that OO systems achieve the most reuse. Larger OO applications end up consisting of layers of frameworks the cooperate with each other. Most of the design and code in the application will come from or be influenced by the frameworks it uses.