cay22的专栏

让一切都有记录;让一切都能分析;让程序像人一样思考.

关于模式

场景:  每天早上8点到公司饭堂吃早餐, 公司饭堂总会把电视调到CCTV13音乐台, 而且CCTV13每次都是放着>这首歌. 分析: 1. CCTV13固定的每天早上8点钟就会播放>这首歌. 2. 公司饭堂总在每天早上8点钟打开电视并把电视调到CCTV13音乐台. 3. 我每...

2014-04-17 20:36:18

阅读数 657

评论数 0

[设计模式笔记]索引

一. 对象创建型模式 1. Simple Factory (简单工厂模式) http://blog.csdn.net/bagboy_taobao_com/article/details/9495425 http://blog.csdn.net/bagboy_taobao_com/article...

2013-10-26 12:12:16

阅读数 1084

评论数 0

[设计模式笔记]快速小结(三)---行为型模式2

三. 行为型模式 20. Observer(观察者模式) 意图: 定义对象间的一种一对多的依赖关系, 当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.  结构: 图22 说明: 文档视图就是用这个模式. http://blog.csdn.net/bagboy_tao...

2013-10-26 12:04:37

阅读数 1056

评论数 0

[设计模式笔记]快速小结(三)---行为型模式1

三. 行为行模式 14. Chain Of Responsibility(职责链模式) 意图: 使多个对象都有机会处理请求, 从而避免请求的发送者和接收者之间的耦合关系. 将这些对象连成一条链, 并沿着这条链传递该请求, 直到有一个对象处理它为止. 结构: 图16 说明: 有多少开端, 就...

2013-10-26 11:59:54

阅读数 1112

评论数 0

[设计模式笔记]快速小结(二)---结构型模式

二. 结构型模式 7. Adapter(适配器模式) 意图: 将一个类的接口转换成客户希望的另外一个接口. Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 结构: 图7 多重继承实现方式. 图8 对象组合方式实现 说明: Adapter中的Request实...

2013-10-26 11:53:37

阅读数 1131

评论数 0

[设计模式笔记]快速小结(一)---对象创建型模式

一. 对象创建型模式 1. Simple Factory (简单工厂模式) 意图: 隐藏创建具体类的代码. 结构: 图1 说明: nWhichProduct http://blog.csdn.net/bagboy_taobao_com/article/details/9495425 http:...

2013-10-26 11:46:36

阅读数 1118

评论数 0

[设计模式笔记]三. 行为型模式--25. Visitor模式(访问者)对象行为型模式(二)

场景 根据Visitor模式的结构图和自己的理解. 如图: 图1 代码 class ObjectStruct { public: Element* m_pElementA; Element* m_pElementB; // 你也可以使用一个数组,...

2013-10-26 08:33:14

阅读数 1148

评论数 0

[设计模式笔记]三. 行为型模式--25. Visitor模式(访问者)对象行为型模式(一)

行为型模式--Visitor(访问者)对象行为型模式 一. 意图          表示一个作用于某对象结构中的各元素的操作. 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作..          使用Visitor模式, 必须定义两个类层次: 一个对应于接受操作...

2013-10-26 08:28:25

阅读数 1101

评论数 0

[设计模式笔记]三. 行为型模式--24. Template Method模式(模板方法)类行为型模式(一)

行为型模式--Template Method模式(模板方法)类行为型模式 一. 意图         定义一个操作中的算法的骨架, 而将一些步骤延迟到子类中. TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 通过使用抽象操作定...

2013-10-24 17:40:12

阅读数 1088

评论数 0

[设计模式笔记]三. 行为型模式--23. Strategy模式(策略)对象行为型模式(一)

一. 意图 允许一个对象在其内部状态改变时改变它的行为. 对象看起来似乎修改了它的类. (状态与行为绑定, 状态变了, 行为也就随之改变.). 二. 适用性 当存在以下情况时使用Strategy模式 许多相关的类仅仅是行为有异. "策略"提供了一种用多个行为中的一个...

2013-10-24 17:34:08

阅读数 1163

评论数 0

[设计模式笔记]三. 行为型模式--22. State模式(状态)对象行为型模式(一)

行为型模式--State模式(状态)对象行为型模式 一. 意图 允许一个对象在其内部状态改变时改变它的行为. 对象看起来似乎修改了它的类. (状态与行为绑定, 状态变了, 行为也就随之改变.). 二. 适用性 在下面的两种情况下均可使用State模式: 一个...

2013-10-24 17:27:20

阅读数 1181

评论数 0

[设计模式笔记]三. 行为型模式--21. Observer模式(观察者)对象行为型模式(一)

行为型模式--Observer模式(观察者)对象行为型模式 一. 意图          定义对象间的一种一对多的依赖关系, 当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新. 这一模式中的关键对象是目标(subject)和观察者(observer). 一...

2013-10-18 14:31:32

阅读数 1352

评论数 0

[设计模式笔记]三. 行为型模式--20. Memento模式(备忘录)对象行为型模式(一)

行为型模式--Memento模式(备忘录)对象行为型模式 一. 意图         在不破坏封装性的前提下, 捕获一个对象的内部状态, 并在该对象之外保存这个状态. 这样以后就可将该对象恢复到原先保存的状态.          一个备忘录(memento)是一个对象, 它存...

2013-10-18 10:14:33

阅读数 1161

评论数 0

[设计模式笔记]三. 行为型模式--19. Mediator模式(中介者)对象行为型模式(一)

行为型模式--Iterator模式(迭代器)对象行为型模式 一. 意图        用一个中介对象来封装一系列的对象交互. 中介者使各对象不需要显式地相互引用, 从而使其耦合松散, 而且可以独立地改变它们之间的交互. 二. 适用性 一组对象以定义良好但是复杂的...

2013-10-17 20:05:04

阅读数 1149

评论数 0

[设计模式笔记]三. 行为型模式--18. Iterator模式(迭代器)对象行为型模式(一)

行为型模式--Iterator模式(迭代器)对象行为型模式 一. 意图             提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示. 二. 适用性 访问一个聚合对象的内容而无需暴露它的内部表示. 支持对聚合对象的多种遍历(...

2013-10-15 12:01:08

阅读数 1611

评论数 0

[设计模式笔记]三. 行为型模式--17. Interpreter模式(解释器模式)(二)

场景: 我定义一个加减法则 // 表达式 expression ::= literal | PlusSign | MinusSign | '(' expression ')' // 加号(执行加法) PlusSign ::= '+' // 减号(执行减法) MinusSi...

2013-10-14 17:42:40

阅读数 1225

评论数 0

[设计模式笔记]三. 行为型模式--17. Interpreter模式(解释器模式)(一)

行为型模式--Interpreter(解释器)类行为型模式 一. 意图        给定一个语言, 定义它的文法的一种表示, 并定义一个解释器, 这个解释器使用该表示来解释语言中的句子. 二. 适用性        如果一种特定类型的问题发生的频率足够高, 那么可能就值得将该问题的各个...

2013-10-14 17:36:45

阅读数 1230

评论数 0

[设计模式笔记]三. 行为型模式--16. Command模式(命令模式)(一)

行为型模式--Command模式(命令)对象行为型模式 一. 意图     将一个请求封装为一个对象, 从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志, 以及支持可撤消的操作.(封装成对象, 从而可以利用面向对象中继承, 多态, 重载等特性, 从而使得你的设计更灵活,...

2013-10-12 17:19:29

阅读数 1297

评论数 0

[设计模式笔记]三. 行为型模式--15.Chain Of Responsibility(职责链模式)(二)

场景: 根据自己的理解和书上的例子假设了这样的场景 在一个程序中, 按F1, 程序显示出鼠标所在的区域的帮助信息.  例如鼠标在对话框的左上角区域, 则显示对话框的帮助信息XXX. 鼠标在对话框的左上角区域的按钮上时, 也是显示对话框的帮助信息XXX. (总之是在鼠标的左上角上,...

2013-10-12 08:46:47

阅读数 1053

评论数 0

[设计模式笔记]三. 行为型模式--15.Chain Of Responsibility(职责链模式)(一)

行为型模式--Chain Of Responsibility(职责链) 对象行为型模式 一. 意图     使多个对象都有机会处理请求, 从而避免请求的发送者和接收者之间的耦合关系. 将这些对象连成一条链, 并沿着这条链传递该请求, 直到有一个对象处理它为止. 二. ...

2013-10-12 08:40:47

阅读数 1468

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭