forked from qinxuewu/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
行为型模式.md
50 lines (39 loc) · 5.7 KB
/
行为型模式.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
### [责任链模式](https://blog.csdn.net/zhouyong0/article/details/7909456)
https://blog.csdn.net/zhouyong0/article/details/7909456
- 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。
### [命令模式](https://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html)
https://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html
- 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。
- 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
### [解释器模式](https://www.cnblogs.com/java-my-life/archive/2012/06/19/2552617.html)
https://www.cnblogs.com/java-my-life/archive/2012/06/19/2552617.html
- 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。
### [迭代模式](http://www.cnblogs.com/java-my-life/archive/2012/05/22/2511506.html)
http://www.cnblogs.com/java-my-life/archive/2012/05/22/2511506.html
- 迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation)。
### [中介者模式](https://blog.csdn.net/chenhuade85/article/details/8141831)
https://blog.csdn.net/chenhuade85/article/details/8141831
- 中介者模式又称为调停者模式,从类图中看,共分为3部分:
- 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子类去实现。
- 中介者实现类:从抽象中介者继承而来,实现抽象中介者中定义的事件方法。从一个同事类接收消息,然后通过消息影响其他同时类。
- 同事类:如果一个对象会影响其他的对象,同时也会被其他对象影响,那么这两个对象称为同事类。在类图中,同事类只有一个,这其实是现实的省略,在实际应用中,同事类一般由多个组成,他们之间相互影响,相互依赖。同事类越多,关系越复杂。并且,同事类也可以表现为继承了同一个抽象类的一组实现组成。在中介者模式中,同事类之间必须通过中介者才能进行消息传递。
### [备忘录模式](http://www.cnblogs.com/java-my-life/archive/2012/06/06/2534942.html)
http://www.cnblogs.com/java-my-life/archive/2012/06/06/2534942.html
- 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。
- 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。
### [观察者模式](http://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.html)
http://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.html
- 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。
- 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
### [状态模式](http://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.html)
http://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.html
- 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。
- 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。
### [策略模式](http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html)
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
### [模板方法模式](http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html)
http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html
- 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。
### [访问者模式](http://www.cnblogs.com/java-my-life/archive/2012/06/14/2545381.html)
http://www.cnblogs.com/java-my-life/archive/2012/06/14/2545381.html
- 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。