Singleton Create only one instance of a ‐ Create static private instance of the class ‐ Ball in pes
given class ‐ Make the Constructor Private game ‐ Static Public Interface to Access an Instance Factory Customer does not know which ‐ Create class factory ‐ Person – male class has to be used to create ‐ Create Public function return type of Parent class – female the object
Abstract factory an abstract factory is a class ‐ Create abstract class contains all shared functions ‐
that provides an interface to produce a family of objects
Builder Separate the construction of a ‐ Create Builder of object (Contains functions of ‐ order
construction of object + getObject : object complex object from its ‐ Create Director which save steps of construction representing so that the same 1‐n aggregation – contains instance builder & construction process can create build() different representations
Prototype Provides a simpler way of ‐ main class implements Cloneable , override clone ‐ useraccount –
creating an object by cloning it ‐ shallow teacher account from an existing (prototype) object. TIME
Structural Patterns Pattern Use idea example
Composite ‐ Lets clients treat individual ‐ inheritance , shared function become abstract ‐ file – folder
objects and compositions of ‐ functions that not shared throw ‐ getfiles objects uniformly SpecialExciption ‐ compositeObject with its parent – aggregation 0‐n Flyweight ‐ Memory ‐ Set intrinsic(common) extrinsic (unique for ‐ Vacancy ‐ Use sharing to support large every instance ) numbers of objects ‐ Create my class ‘contains flyweight obj’ efficiently. ‐ Create interface for Intrinsic information ‐ Implement it as singleton ‐ Create singleton factory contains ‐ getfactory , getflywieht ‐ Map of flyweight Decorator ‐ Extends the functionality of ‐ Create decorator abstract class (wrapper ), ‐ icecream an object in a manner ‐ Contains instance ( new functionality ) that is transparent to its ‐ Simple obj implement main interface clients without using ‐ New function extends decorator inheritance. ‐ At runTime adapter ‐ Update ‐ Create adapter class ‐ Audio player Convert the interface of a class ‐ Contains private object of new functionality into another interface clients ‐ Implement adapte class interface expect. Lets classes work together Add private adapter object to main class that couldn't otherwise because of incompatible interfaces. Facade ‐ Complex task done with one ‐ Create class contains all components of ‐ Computer click subsystem make them private and don’t have startup getters. ‐ Create function oneClick Pattern Use idea example
Chain of Responsibility ‐ recommends a low degree of ‐ create interface contains ‐ dispense
coupling between an object that ‐ main function sends out a request and the set of ‐ setnextHandler potential request handler objects ‐ When there is more than one object that can handle or fulfill a client request ‐ request reaches the end of the chain without getting processed Virtual proxy To provide the required functionality to ‐ Create virtual class contains ‐ Emailservices allow the ondemand creation of a ‐ Implement same real class ‐ windowsServices memory intensive object (until required). interface ‐ Fast on startup ‐ Private object of real Class ‐ Add if condition to test build of real obj Mediator Encapsulates the direct object‐to‐object ‐ Create interface mediator ‐ Chat with group communication ‐ Contains send function ( all expect details among a set of objects in a me) separate (mediator) ‐ Add function Object object. This eliminates the need for these ‐ add protected mediator obj to all objects objects to interact with each other directly. ‐ Request sends to all expect me Visitor Allows an operation to be defined across ‐ Add abstract accept function in ‐ a collection main class of different objects without changing the ‐ Implement it in all types of classes of element objects on which it operates ‐ Create visitor interface contains all needed functions functions , implement it Iterator Provide a way to access the elements of ‐ Implement Enumeration ‐ KidClub an aggregate object sequentially without Implement all of its functions exposing its underlying representation Hasmoreelemnts() Nextelemnt()