设计模式
2019-04-09 08:48:14 204 举报
设计模式类图
作者其他创作
大纲/内容
建造者模式
ClassA
ConcretHandlerA
+ request() : bool
AbstractProductB
+ doB1() : void+ doB2() : void
Target
+targetMethod() : void
Memento
+ friend class Originator
<<wide interface>># getProtectedInfo()<<narrow interface>>+ getPublicInfo()
迭代器模式
组合模式
Client
Subject
+ request1() : void+ request2() : void+ request3() : void
ConcreteFactory
+ createProductA() : AbstractProductA+ createProductB() : AbstractProductB
Director
- builder : Builder
+ construct() : Object
ConcreteProduct
+ method1() : void+ method2() : void+ method3() : void
单例模式
Product
+ factoryMethod(): void
Composite
- children : Component[]
+ method1() : void+ method2() : void+ add(Component) :void+ remove(Component) :void+ getChile() : Component
Strategy
+ strategyMethod() : void
Context
strategy : Strategy
+ contextMethod() : void
has
观察者模式
Implementor
+ ImplMethodA() : void+ ImplMethodB() : void
ConcretStateA
+ methodA() : void+ methodB() : void
Aggregate
+ Iterator() : Iterator
ElementA
+ accept(Vistor) : void
Leaf
+ method1() : void+ method2() : void
ConcreteImplementor
ConcreteProductB
命令模式
Command
+ execute() : void
Flyweight
ConcreteClass
Main
Adapter
Colleague
mediator : Mediator
+ setMediator() : void+ controlColleague() : void
Observer
+ update() : void
Receiver
+ action() : void
ConcreteVisitor
+ visit(ElementA) : void+ visit(ElementB) : void
- state : State
+ requestX() : void+ requestY() : void+ requestZ() : void
Builder
AbstractExpression
+ interpret() : void
implements
AbstractFactory
State
Create
- observers : vector<Observer>
+ addObserver() : void+ removeObserver() : void+ notifyObservers() : void+ getSubjectStatus()
Proxy
- realSubject : RealSubject
适配器模式
模板方法模式
Uses
ConcreteBuilderA
ElementB
代理模式
享元模式
ConcreteStrategy1
ConcreteProductA
+ doA1() : void+ doA2() : void
ConcreteStrategy2
Mediator
+ createColleagues() : void+ colleagueChanged() : viod
Invoker
Request
AbstractProductA
工厂方法模式
状态模式
Element
extends
职责连模式
Notify
桥接模式
ConcreteMediator
- a : ConcreteColleagueA- b : ConcreteColleagueB- c : ConcreteColleagueC
AbstractClass
+ method1() : void+ method2() : void+ method3() : void+ templateMethod():void
解释器模式
TerminalExpression
+ getInfoToInterpret
ClassB
Component
method1() : voidmethod2() : void
Originator
+ createMemento() : Memento+ restoreMemento(Memento m) : Memento
Creates
RealSubject
Iterator
+next() : Object+hasNext() : bool
Adaptee
+ method() : void
ConcreteIterator
- ConcreteAggregate
+next() : Object+hasNext() : bool
- receiver : Receiver
访问者模式
外观模式
ConcretStateB
Caretaker
Abstraction
- impl : Implementor
备忘录模式
ConcreteDecorator
Facade
ConcreteColleagueA
+ controlColleague() : void
抽象工厂模式
仲裁者模式
RefinedAbstraction
+ RefinedMethod1() : void+ RefinedMethod2() : void
策略模式
Decorator
component : Component
NonterminalExpression
- childExpressions : AbstractExpression
ConcretHandlerB
+ request() : bool
装饰器模式
Handler
- next : Handler
FlyweightFactory
- pool : std::map<Flyweight>
+ getFlyweight() : Flyweight
Use
ConcreteAggregate
- Set<Object>
Visitor
Singleton
- instance : Singleton
- Singleton()+ getInstance() : Singleton
ConcreteColleagueC
ConcreteComponent
ConcreteSubject
+ getSubjectStatus()
+ Create() : Product+ factoryMethod(): void
ConcreteObserver
ConcreteColleagueB
ConcreteBuilderB
0 条评论
下一页