benxintuzi

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2015年5月28日

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

摘要: 简单工厂模式的不足:加入新产品的同时需要修改工厂类,违背“开闭原则”。模式动机:增加一个抽象工厂类,再定义具体工厂类来生产具体的产品,增加新产品时只需要添加产品类和对应的具体工厂类即可。由于我们是对抽象工厂进行编程,因此可以在不修改抽象工厂的前提下增加新产品。模式定义:工厂方法模式(Factory ... 阅读全文
posted @ 2015-05-28 16:44 benxintuzi 阅读(361) 评论(0) 推荐(0) 编辑

摘要: 考虑如下设计: 1 #include 2 3 using namespace std; 4 5 class Entry 6 { 7 public: 8 Entry(const string& name, const string& address, const string& phone... 阅读全文
posted @ 2015-05-28 12:11 benxintuzi 阅读(241) 评论(0) 推荐(0) 编辑

摘要: 如下为const修饰的几种类型:char name[] = "benxintuzi";char* p1 = name; // non-const pointer, non-const dataconst char* p2 = name; // non-const pointer, const dat... 阅读全文
posted @ 2015-05-28 10:37 benxintuzi 阅读(164) 评论(0) 推荐(0) 编辑

摘要: 1>以const替换#define•比如用const double Ratio = 1.653替换#define RATIO 1.653因为宏定义在预处理阶段就会被替换成其所指代的内容,然后才是对替换后的内容进行编译,因此编译器永远不能发现宏的存在。此时如果宏变量RATIO出现问题,那么编译器只会报... 阅读全文
posted @ 2015-05-28 09:26 benxintuzi 阅读(296) 评论(0) 推荐(0) 编辑