摘要: 3.3 观察者模式 (Observer)/发布-订阅模式 动机: 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都能得到通知。如果这样的依赖关系过于紧密,将使得软件不能很好地抵御变化。 使用面向对象技术,可以将这种依赖 阅读全文
posted @ 2017-06-01 22:14 叶常绿 阅读(187) 评论(0) 推荐(1) 编辑
摘要: 4. “单一职责”类模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 典型模式代表: Decorator,Bridge 4.1 Decorator 装饰模式 代码示例:不同的流操作(文件流,网络流,内存 阅读全文
posted @ 2017-06-01 22:14 叶常绿 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 4.2 Bridge 桥模式 动机: 由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,乃至多个变化的维度。 代码示例: 实现一个Messager,含有基本功能PlaySound,Connect等,并有PC、Mobile不同的平台实现 和 精简、完美等不同业务功能的版本 实现方法1: Bri 阅读全文
posted @ 2017-06-01 22:13 叶常绿 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 5. “对象创建”类模式 通过“对象创建”类模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 5.1 工厂方法 动机: 在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。 如何应 阅读全文
posted @ 2017-06-01 22:13 叶常绿 阅读(192) 评论(0) 推荐(1) 编辑
摘要: 5.2 抽象工厂模式 动机:在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 代码示例: 实现利用数据库的业务逻辑,支持多数据库(Sql,Oracle等),有连接、命令、读取等功能。 其中命令,连接功能之间有相互联系。 方法一(使用工 阅读全文
posted @ 2017-06-01 22:12 叶常绿 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 二 Class with pointer members(Class String) 1. 测试代码(使用效果) int main() { String s1(), String s2("hello"); //构造函数 String s3(s1); //拷贝构造 cout << s3 << endl 阅读全文
posted @ 2017-06-01 22:11 叶常绿 阅读(186) 评论(0) 推荐(0) 编辑
摘要: class complex{ public: complex (double r = 0, double i = 0):re(r), im(i){} //inline complex& operator += {const complex&}; double real() const{return 阅读全文
posted @ 2017-06-01 22:11 叶常绿 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 链表题目对算法的要求度不高,但实际写的过程中需要注意语言细节,考虑精细度的地方很多。 1.链表结构与基本操作 1.1 添加节点 一般情况: cur ->next = prev ->next; prev ->next = cur; 表头插入: cur ->next = head; head = cur 阅读全文
posted @ 2017-06-01 22:10 叶常绿 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 对象内存模型 一. 栈(Stack) VS. 堆(heap) 栈 由系统自动管理,以执行函数为单位 空间大小编译时确定(参数+局部变量) 函数执行时,系统自动分配一个stack 函数执行结束时,系统立即自动回收stack 堆 在c++中由程序员手动控制 手动分配new和malloc 手动释放dele 阅读全文
posted @ 2017-06-01 22:10 叶常绿 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 一 基础知识 1. 均为线性表,可以由数组或链表实现 栈:先进后出,操作均在栈顶进行 队列:先进先出,队尾进,队首出 2. STL stack & queue stack 常见操作: s.push(x):入栈 (void类型) s.pop(): 出栈 (void类型,只删除,不返回元素) s.top 阅读全文
posted @ 2017-06-01 22:09 叶常绿 阅读(109) 评论(0) 推荐(0) 编辑
友情链接:回力鞋专卖店 | 中老年女装 | 武汉英语培训机构 | 经典电影 | 托福考试费用