摘要:一、简介1、组合模式将对象组合成树形结构以表示‘部分和整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。2、模式中的几个重要的类Component:组合中的对象声明接口,在适当情况下,实现所有类共有接口的行为。Leaf:叶节点对象,叶节点没有子节点。由于叶节点不能增加分支和树叶... 阅读全文
备忘录模式
2015-01-21 14:54 by itwolf, 179 阅读, 0 推荐, 收藏,
摘要:一、简介1、备忘录 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。2、模式成员(1)Originator(发起人):负责创建一个Memento(备忘录),用以记录当前的状态,并且可以使用备忘录恢复自己的状态。(2)Mement... 阅读全文
适配器模式
2015-01-21 10:07 by itwolf, 180 阅读, 0 推荐, 收藏,
摘要:一、简介1、适配器模式将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2、在软件设计的初期要尽量将接口统一,及早发现不统一的接口进行重构,在双方都不太容易修改的时候再使用适配器模式进行适配。3、UML4、所属类别:结构型二、C+... 阅读全文
观察者模式
2015-01-20 21:32 by itwolf, 361 阅读, 0 推荐, 收藏,
摘要:一、简介1、观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化的时候,会通知所有观察者对象,使它们能够动态的更新自己。如:图形界面的工具箱中,表格对象和柱状图对象使用不同的形式描述同一应用数据对象的信息。表格对象和柱状图对象相互并不知道对方的存在,... 阅读全文
状态模式
2015-01-20 10:38 by itwolf, 281 阅读, 0 推荐, 收藏,
摘要:一、简介1、状态模式中当一个对象的内部状态改变时允许改变其行为,这个对象看起来像是改变了其类。2、状态模式可以消化较大的分支,将每个分支放入一种状态中,减少了分支之间的耦合程度,又符合开闭原则。当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,就可以考虑使用状态模式。3、U... 阅读全文
建造者模式
2015-01-19 14:42 by itwolf, 231 阅读, 0 推荐, 收藏,
摘要:一、简介:1、建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2、建造者模式通常包括下面几个角色:(1)builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。(2)ConcreteBuilder:继承builder类,针对不同的商业逻辑,具体... 阅读全文
外观模式
2015-01-19 09:10 by itwolf, 187 阅读, 0 推荐, 收藏,
摘要:一、简介1、外观模式为子系统中的一组接口提供一个统一的高层接口,这一接口使得子系统更加容易使用。2、举例 :房间里有3盏灯,每一盏灯都有一个开关控制它的开和关两种状态,由于它们经常一起开关,所以就设置一个总的开关,一下子同时控制所有的灯。3、UML图4、所属类别:结构型二、C++程序 1 // 外观... 阅读全文
C++类的复制构造函数和赋值运算符
2015-01-18 21:09 by itwolf, 845 阅读, 0 推荐, 收藏,
摘要:前言:C++面向对象的编程过程中,凡是在类中运用到动态内存分配的时候总是会写一个显示的复制构造函数和赋值重载运算符,本文将结合C++ Primer Plus一书的内容分析下原因:一、在C++编程中如果没有编写下列成员函数,系统会自动的提供: (1)构造函数 (2)析构函数 (3)地址运算符 (4)赋... 阅读全文
模板方法模式
2015-01-18 10:54 by itwolf, 187 阅读, 0 推荐, 收藏,
摘要:一、简介1、模板方法模式定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2、说白了模板方法模式就是将一些通用的步骤放在基类中,而将不同的环节放在子类中,以减少代码的重用。3、举例:考试中抄写题目并做答案,老师抄的题目对于每位... 阅读全文
原型模式
2015-01-17 11:45 by itwolf, 213 阅读, 0 推荐, 收藏,
摘要:一、简介1、原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。2、为什么会用到原型模式?(1)既然可以直接new,为什么会用到原型模式?这个可以从两个角度来说,第一,时间消耗角度:如果创建实例的构造函数非常的复杂,在执行这个构造函数时会消耗较长的时间,这时如果需要一个跟刚刚实... 阅读全文
浙公网安备 33010602011771号