Created by Aashish Ranjan
about 10 years ago
|
||
1. Design Pattern is a reusable solution to commonly occurring problems within a given context of software design.
2. Design pattern is a template or description for how to solve a problem that can be used in many different situations.
3. Every design pattern has four essential elements : a. Pattern Name b. Problem c. Solution d. Consequences
Pattern name is like a handle which :- a. Describes a problem b. Its solutions c. Consequences
Problem specifies the explanation of problem and its contextIt will tell when to apply design pattern.
Solution describes the abstract description of design problems and how the pattern solves it.It describes the elements that make up the - a. Design b. Relationships c. Responsibilities d. Collborations
Consequences gives the results of applying the pattern .It will help us to understand the cost and benefits of applying the pattern.Impact of the pattern on system : a. Flexibility b. Extensibility c. Portability
A design pattern is not a finished design that can be transformed directly into source or machine code. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.
There are three types of design pattern : a. Creational Design Pattern b. Structural Design Pattern c. Behavioural Design Pattern
Creational deals with initializing and configuring classes and objects
Structural deals with decoupling interfaces and implementation of classes and objects.
Behavioural deals with dynamic interaction among societies of classes and objects.How they distribute responsibility.
Abstract FactoryBuilderFactor MethodPrototypeSIngelton
AdaptorBridgeCompositeDecoratorFacadeFlyweightProxy
Chain Of ResponsibilityCommandIteratorMediatorMementoObserverStateStrategyTemplate MethodVisitor
Programming paradigms Specific to programming language Design patterns Solves reoccurring problems in software construction Architectural patterns Fundamental structural organization for software systems
Basics
Want to create your own Notes for free with GoConqr? Learn more.