Design Patterns
In software Engineering, a software design pattern is a general reusable solution to a commonly occurring problem within a given context in software design.
- Behavioral Design Patterns
- Command Pattern
- Chain Responsibility Pattern
- Iterator Pattern
- Interpreter Pattern
- State Pattern
- Strategy Pattern
- Null Object Pattern
- Observer Pattern
- Visitor Pattern
- Template Method Pattern
- Memento Pattern
- Creational Design Patterns
- Factory Method Pattern
- Singleton Pattern
- Abstract Factory Pattern
- Builder Pattern
- Prototype Pattern
- Object Pool Pattern
- Structural Design Patterns
- Adapter Pattern
- Bridge Pattern
- Composite Pattern
- Decorator Pattern
- Facade Pattern
- Flyweight Pattern
- Proxy Pattern
- Private Class Data Pattern
- J2EE Design Patterns
Benefits of Design Patterns:
- Provides industry standard approach to solve a recurring problem.
- Promotes reusability that leads to more robust and highly maintainable code.
- Helps in reducing total cost of ownership(TCO) of the software product.
- Makes our code easy to understand and debug.
Criticism:
- Targets the wrong problem
- Lacks formal foundations
- Does not differ significantly from other abstractions
- Leads to inefficient solutions
Comments
Post a Comment