benxintuzi

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 3 4 5 6 7 8 9 下一页

2015年6月2日

摘要: 模式动机:当某个接口可能有多种实现方式时,一般会使用继承来解决。但是继承总是体现出与具体的平台相关,无法很好地进行扩充,此时需要将接口与实现类最大可能地解耦,使其二者都可以独立发展而不受影响,增大系统的灵活性。模式定义(Bridge Pattern):将抽象接口与具体实现分离开来,使得两部分都可以独... 阅读全文
posted @ 2015-06-02 14:37 benxintuzi 阅读(243) 评论(0) 推荐(0) 编辑

2015年6月1日

摘要: 模式动机:有时软件复用的一个难题就是接口的不兼容性,适配器的职责就是为客户提供兼容的适配者接口,使得客户只需访问一类接口就可以调用合适的适配者,而其中的适配细节则有适配器来完成。模式定义(Adapter Pattern):将一个接口转换为用户期望的接口,使得那些接口不兼容的类可以一起工作。模式结构图... 阅读全文
posted @ 2015-06-01 21:59 benxintuzi 阅读(211) 评论(0) 推荐(0) 编辑

摘要: 考虑如下一种场景:有一个电视机类Tv和一个遥控器类Remote,如何定义二者的关系呢?首先遥控器不能继承电视机,因为不是is-a关系;其次,遥控器也并非电视机的一部分,因此包含关系has-a也不适合。这时候将Remote类作为Tv类的友元类比较合适,使其能够使用Tv类的任何数据来控制电视机。但是如何... 阅读全文
posted @ 2015-06-01 13:00 benxintuzi 阅读(385) 评论(0) 推荐(0) 编辑

2015年5月30日

摘要: 假设有一个有理数类Rational,有一个计算有理数乘法的成员函数operator*,示例如下: 1 #include 2 3 class Rational 4 { 5 public: 6 Rational(int numerator = 0, int denominator = 1) ... 阅读全文
posted @ 2015-05-30 09:59 benxintuzi 阅读(403) 评论(0) 推荐(0) 编辑

2015年5月29日

摘要: 模式动机:对于系统中的某些类而言,确保只有一个实例运行很重要,例如一个系统只能有一个计时器或者ID生成器。模式定义(Singleton Pattern):确保一个类只有一个实例,并且该类自己负责创建它自己的唯一实例,而且还必须可以向系统提供这个实例。模式结构图:模式分析:单例类拥有一个私有构造函数,... 阅读全文
posted @ 2015-05-29 16:56 benxintuzi 阅读(239) 评论(0) 推荐(0) 编辑

摘要: 模式动机:在软件系统中,有些对象的创建过程非常复杂,但是又需要频繁创建,这时候需要提供一个原型对象,使用时只需要复制这个原型对象就可以了。模式定义(Prototype Pattern):使用原型实例指定创建对象的类型,然后通过复制原型对象来创建新对象。模式结构图:模式代码:bt_原型模式.h: 1 ... 阅读全文
posted @ 2015-05-29 15:25 benxintuzi 阅读(226) 评论(0) 推荐(0) 编辑

摘要: 模式动机:一个对象由若干部件组成,而组合这些部件的过程比较复杂,因此可以把这个组合工作交给建造者来完成,建造这返回给客户的是一个组装好的对象。模式定义(Builder Pattern):将一个复杂对象的构建与表示分离开来,使得同样的构建过程可以创建不同的表示形式。模式结构图:其中包含抽象建造者Bui... 阅读全文
posted @ 2015-05-29 14:13 benxintuzi 阅读(204) 评论(0) 推荐(0) 编辑

摘要: 如下为一个有理数类,其中包含一个用来计算乘积的函数: 1 #include 2 3 using namespace std; 4 5 class Rational 6 { 7 public: 8 Rational(int numerator = 0, int denominator =... 阅读全文
posted @ 2015-05-29 10:58 benxintuzi 阅读(220) 评论(0) 推荐(0) 编辑

摘要: 缺省情况下,C++中函数参数的传递方式为by-value。即函数都是以实际参数的副本进行传递,而函数返回的也是一个副本。考虑如下实例程序: 1 #include 2 3 class Person 4 { 5 public: 6 Person(){ cout 2 3 using nam... 阅读全文
posted @ 2015-05-29 09:48 benxintuzi 阅读(274) 评论(0) 推荐(0) 编辑

2015年5月28日

摘要: 附加概念:产品等级结构:不同品牌的同一类产品,如Haier电视机,TCL电视机都是电视机,因此属于同一个产品等级结构。产品族:属于同一个品牌的所有产品,如Haier电视机,Haier冰箱等。模式动机:工厂方法模式一般针对的是一个产品等级结构(如仅生产电视机),而抽象工厂模式针对的是多个产品等级结构(... 阅读全文
posted @ 2015-05-28 21:42 benxintuzi 阅读(203) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 下一页