MCPcopy Create free account

hub / github.com/JakubVojvoda/design-patterns-cpp / types & classes

Types & classes97 in github.com/JakubVojvoda/design-patterns-cpp

↓ 1 callersClassConcreteAggregate
iterator/Iterator.cpp:16
ClassAbstractClass
* AbstractClass * implements a template method defining the skeleton of an algorithm */
template-method/TemplateMethod.cpp:17
ClassAbstractExpression
* Abstract Expression * declares an abstract Interpret operation that is common to all nodes * in the abstract syntax tree */
interpreter/Interpreter.cpp:42
ClassAbstractFactory
* Abstract Factory * provides an abstract interface for creating a family of products */
abstract-factory/AbstractFactory.cpp:101
ClassAbstraction
* Abstraction * defines the abstraction's interface */
bridge/Bridge.cpp:58
ClassAdaptee
* Adaptee * defines an existing interface that needs adapting and thanks * to Adapter it will get calls that client makes on the Target * */
adapter/ObjectAdapter.cpp:32
ClassAdaptee
* Adaptee * all requests get delegated to the Adaptee which defines * an existing interface that needs adapting */
adapter/ClassAdapter.cpp:31
ClassAdapter
* Adapter * implements the Target interface and when it gets a method call it * delegates the call to a Adaptee */
adapter/ObjectAdapter.cpp:47
ClassAdapter
* Adapter * implements the Target interface and lets the Adaptee respond * to request on a Target by extending both classes * ie adapts the interfa
adapter/ClassAdapter.cpp:49
ClassAggregate
* Aggregate * defines an interface for aggregates and it decouples your * client from the implementation of your collection of objects */
iterator/Iterator.cpp:23
ClassBuilder
* Builder * abstract interface for creating products */
builder/Builder.cpp:50
ClassCareTaker
* CareTaker * is responsible for the memento's safe keeping */
memento/Memento.cpp:83
ClassClient
* Client * creates a new object by asking a prototype to clone itself */
prototype/Prototype.cpp:68
ClassColleague
* Colleague classes * each colleague communicates with its mediator whenever * it would have otherwise communicated with another colleague */
mediator/Mediator.cpp:22
ClassCommand
* Command * declares an interface for all commands */
command/Command.cpp:32
ClassComponent
* Component * defines an interface for objects that can have responsibilities * added to them dynamically */
decorator/Decorator.cpp:18
ClassComponent
* Component * defines an interface for all objects in the composition * both the composite and the leaf nodes */
composite/Composite.cpp:19
ClassComposite
* Composite * defines behavior of the components having children * and store child components */
composite/Composite.cpp:40
ClassConcreteBuilderX
* Concrete Builder X and Y * create real products and stores them in the composite structure */
builder/Builder.cpp:73
ClassConcreteBuilderY
builder/Builder.cpp:91
ClassConcreteClass
* Concrete Class * implements the primitive operations to carry out specific steps * of the algorithm, there may be many Concrete classes, each impl
template-method/TemplateMethod.cpp:42
ClassConcreteColleague
mediator/Mediator.cpp:43
ClassConcreteCommand
* Concrete Command * implements execute by invoking the corresponding * operation(s) on Receiver */
command/Command.cpp:48
ClassConcreteComponent
* Concrete Component * defines an object to which additional responsibilities * can be attached */
decorator/Decorator.cpp:32
ClassConcreteCreator
* Concrete Creator * implements factory method that is responsible for creating * one or more concrete products ie. it is class that has * the know
factory-method/FactoryMethod.cpp:84
ClassConcreteDecoratorA
* Concrete Decorators * add responsibilities to the component (can extend the state * of the component) */
decorator/Decorator.cpp:71
ClassConcreteDecoratorB
decorator/Decorator.cpp:84
ClassConcreteElementA
visitor/Visitor.cpp:14
ClassConcreteElementB
visitor/Visitor.cpp:15
ClassConcreteFactoryX
* Concrete Factory X and Y * each concrete factory create a family of products and client uses * one of these factories so it never has to instantia
abstract-factory/AbstractFactory.cpp:115
ClassConcreteFactoryY
abstract-factory/AbstractFactory.cpp:131
ClassConcreteFlyweight
* ConcreteFlyweight * implements the Flyweight interface and adds storage * for intrinsic state */
flyweight/Flyweight.cpp:55
ClassConcreteHandler1
* Concrete Handlers * handle requests they are responsible for */
chain-of-responsibility/ChainOfResponsibility.cpp:44
ClassConcreteHandler2
chain-of-responsibility/ChainOfResponsibility.cpp:71
ClassConcreteImplementorA
* Concrete Implementors * implement the Implementor interface and define concrete implementations */
bridge/Bridge.cpp:30
ClassConcreteImplementorB
bridge/Bridge.cpp:42
ClassConcreteIterator
* Concrete Iterator * implements the interface and is responsible for managing * the current position of the iterator */
iterator/Iterator.cpp:93
ClassConcreteMediator
* Concrete Mediator * implements cooperative behavior by coordinating Colleague objects * and knows its colleagues */
mediator/Mediator.cpp:80
ClassConcreteObserver
* Concrete Observer * stores state of interest to ConcreteObserver objects and * sends a notification to its observers when its state changes */
observer/Observer.cpp:36
ClassConcreteProductA
* Concrete Product * define product to be created */
factory-method/FactoryMethod.cpp:32
ClassConcreteProductAX
* ConcreteProductAX and ConcreteProductAY * define objects to be created by concrete factory */
abstract-factory/AbstractFactory.cpp:31
ClassConcreteProductAY
abstract-factory/AbstractFactory.cpp:43
ClassConcreteProductB
* Concrete Product * define product to be created */
factory-method/FactoryMethod.cpp:48
ClassConcreteProductBX
* ConcreteProductBX and ConcreteProductBY * same as previous concrete product classes */
abstract-factory/AbstractFactory.cpp:73
ClassConcreteProductBY
abstract-factory/AbstractFactory.cpp:85
ClassConcretePrototypeA
* Concrete Prototype A and B * implement an operation for cloning itself */
prototype/Prototype.cpp:32
ClassConcretePrototypeB
prototype/Prototype.cpp:48
ClassConcreteStateA
* Concrete States * each subclass implements a behavior associated with a state * of the Context */
state/State.cpp:31
ClassConcreteStateB
state/State.cpp:43
ClassConcreteStrategyA
* Concrete Strategies * implement the algorithm using the Strategy interface */
strategy/Strategy.cpp:29
ClassConcreteStrategyB
strategy/Strategy.cpp:41
ClassConcreteStrategyC
strategy/Strategy.cpp:53
ClassConcreteSubject
* Concrete Subject * stores state that should stay consistent with the subject's */
observer/Observer.cpp:98
ClassConcreteVisitor1
* Concrete Visitors * implement each operation declared by Visitor, which implement * a fragment of the algorithm defined for the corresponding clas
visitor/Visitor.cpp:38
ClassConcreteVisitor2
visitor/Visitor.cpp:55
ClassContext
* Context * maintains a reference to a Strategy object */
strategy/Strategy.cpp:69
ClassContext
* Context * contains information that's global to the interpreter */
interpreter/Interpreter.cpp:18
ClassContext
* Context * defines the interface of interest to clients */
state/State.cpp:59
ClassCreator
* Creator * contains the implementation for all of the methods * to manipulate products except for the factory method */
factory-method/FactoryMethod.cpp:65
ClassDecorator
* Decorator * maintains a reference to a Component object and defines an interface * that conforms to Component's interface */
decorator/Decorator.cpp:49
ClassDirector
* Director * responsible for managing the correct sequence of object creation */
builder/Builder.cpp:113
ClassElement
visitor/Visitor.cpp:13
ClassFacade
* Facade * delegates client requests to appropriate subsystem object * and unified interface that is easier to use */
facade/Facade.cpp:56
ClassFlyweight
* Flyweight * declares an interface through which flyweights can receive * and act on extrinsic state */
flyweight/Flyweight.cpp:19
ClassFlyweightFactory
* FlyweightFactory * creates and manages flyweight objects and ensures * that flyweights are shared properly */
flyweight/Flyweight.cpp:79
ClassHandler
* Handler * defines an interface for handling requests and * optionally implements the successor link */
chain-of-responsibility/ChainOfResponsibility.cpp:17
ClassImplementor
* Implementor * defines the interface for implementation classes */
bridge/Bridge.cpp:17
ClassInvoker
* Invoker * asks the command to carry out the request */
command/Command.cpp:76
ClassIterator
iterator/Iterator.cpp:15
ClassLeaf
* Leaf * defines the behavior for the elements in the composition, * it has no children */
composite/Composite.cpp:85
ClassMediator
mediator/Mediator.cpp:15
ClassMemento
* Memento * stores internal state of the Originator object and protects * against access by objects other than the originator */
memento/Memento.cpp:19
ClassNonterminalExpression
* Nonterminal Expression * implements an Interpret operation for nonterminal symbols * in the grammar (one such class is required for every rule in
interpreter/Interpreter.cpp:83
ClassObserver
* Observer * defines an updating interface for objects that should be notified * of changes in a subject */
observer/Observer.cpp:21
ClassOriginator
* Originator * creates a memento containing a snapshot of its current internal * state and uses the memento to restore its internal state */
memento/Memento.cpp:48
ClassProduct
* Product * products implement the same interface so that the classes can refer * to the interface not the concrete product */
factory-method/FactoryMethod.cpp:19
ClassProduct
* Product * the final object that will be created using Builder */
builder/Builder.cpp:18
ClassProductA
* Product A * products implement the same interface so that the classes can refer * to the interface not the concrete product */
abstract-factory/AbstractFactory.cpp:18
ClassProductB
* Product B * same as Product A, Product B declares interface for concrete products * where each can produce an entire set of products */
abstract-factory/AbstractFactory.cpp:60
ClassPrototype
* Prototype * declares an interface for cloning itself */
prototype/Prototype.cpp:18
ClassProxy
* Proxy * maintains a reference that lets the proxy access the real subject */
proxy/Proxy.cpp:45
ClassRealSubject
* Real Subject * defines the real object that the proxy represents */
proxy/Proxy.cpp:31
ClassReceiver
* Receiver * knows how to perform the operations associated * with carrying out a request */
command/Command.cpp:18
ClassRefinedAbstraction
* RefinedAbstraction * extends the interface defined by Abstraction */
bridge/Bridge.cpp:71
ClassSingleton
* Singleton * has private static variable to hold one instance of the class * and method which gives us a way to instantiate the class */
singleton/Singleton.cpp:18
ClassState
* State * defines an interface for encapsulating the behavior associated * with a particular state of the Context */
state/State.cpp:18
ClassStrategy
* Strategy * declares an interface common to all supported algorithms */
strategy/Strategy.cpp:17
ClassSubject
* Subject * defines the common interface for RealSubject and Proxy * so that a Proxy can be used anywhere a RealSubject is expected */
proxy/Proxy.cpp:18
ClassSubject
observer/Observer.cpp:14
ClassSubsystemA
* Subsystems * implement more complex subsystem functionality * and have no knowledge of the facade */
facade/Facade.cpp:18
ClassSubsystemB
facade/Facade.cpp:29
ClassSubsystemC
facade/Facade.cpp:40
ClassTarget
* Target * defines specific interface that Client uses */
adapter/ObjectAdapter.cpp:17
ClassTarget
* Target * defines specific interface that Client uses */
adapter/ClassAdapter.cpp:17
ClassTerminalExpression
* Terminal Expression * implements an Interpret operation associated with terminal symbols * in the grammar (an instance is required for every termi
interpreter/Interpreter.cpp:60
ClassUnsharedConcreteFlyweight
* UnsharedConcreteFlyweight * not all subclasses need to be shared */
flyweight/Flyweight.cpp:31
ClassVisitor
* Visitor * declares a Visit operation for each class of ConcreteElement * in the object structure */
visitor/Visitor.cpp:22