realizing the problems in middle or after construction.
Life with it – now you have a layout on which you worked a lot before actual
construction, e.g. proper spaces for ventilation, future expendation, vastu
compliant, parking, entertaining guests, security systems and many more.
The whole idea behind design patterns is to develop a standardized way to represent general solutions to commonly encountered problems in software development.
Direct Benefits –
Biggest Benefit - Easily expandable and reusable structure.
Minimize testing Cost - Changes lead less overhead for re testing.
OOPs – All benefits of being object oriented
Indirect Benefits
Effective way to share experience, over time, we can build up catalogs of patterns. This enables
newcomers to software development to more effectively benefit from experience gained over the years.
There is formal documentation about the tradeoffs involved in software design decisions; about the pluses and minuses of development choices. Standardizing patterns makes it easier for all development professionals—beginners and experts alike—to explicitly understand the implications of their decisions.
The design patterns provide a common vocabulary. This makes communicating decisions to developers easier. Rather than describing a design in detail, we can use a pattern name to explain our plans.
Pattern Best Contributor - “Gang of Four” or GoF
1. Erich Gamma
2. Richard Helm
3. Ralph Johnson
4. John Vlissides
- Design Patterns
Creational
Abstract Factory
Builder
Factory Method
Prototype
Singleton
<>
Behavioral
Observer
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
State
Strategy
Visitor
Template Method
<>
Structural
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
<>
System
MVC
Session
Worker Thread
Callback
Successive Update
Transaction
<>
if you feel you design a problem with your own way and that way can be useful for others then blog and patent your "Design Pattern".
sumit