
大话设计模式(C++)
Rage_
西北工业大学明德学院
展开
-
大话设计模式(C++)第一章-简单工厂模式
问题:写一个简单的计算器。 普通的写法: #include<iostream> using namespace std; int main() { double NumberA,NumberB; cout<<"请输入数字A: "; cin>>numberA; cout<<"请输入数字B: "; cin...原创 2018-11-01 16:36:00 · 315 阅读 · 0 评论 -
大话设计模式(C++)第七章-代理模式
概念 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 应用场景 (1)远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。 (2)虚拟代理,是根据需要创建开销很大的对象。通过他来存放实例化需要很长时间的真实对象。例如:图片加载的时候。 (3)安全代理,用来控制真是对象访问时的权限。 (4)智能指引,是指当调用真...转载 2018-11-21 18:59:55 · 209 阅读 · 0 评论 -
大话设计模式(C++)第二章-策略模式
策略模式:他定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 三、优点与解析 (1)策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,他可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。 (2)策略模式的Strategy类曾是为Context定义了一些列的...转载 2018-11-19 16:40:20 · 210 阅读 · 0 评论 -
大话设计模式C++实现-第3.4.5-设计原则(1)
第三章-单一职责原则 (1).就一个类而言,应该仅有一个引起它变化的原因。 (2)如果一个类承担的职责过多,就等于把这些职责耦合在了一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。 (3)软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。其实要判断是否分离出来,也不难,那就是如果你能够想到多于一个...原创 2018-11-19 18:06:23 · 174 阅读 · 0 评论 -
大话设计模式(C++)第六章-装饰模式
二、概念 装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 装饰模式是为已有功能动态地添加更多功能的一种方式。 三、说明 角色: (1)Component是定义一个对象,可以给这些对象动态地添加职责。 (2)ConcreteComponent是定义了一个具体的对象,也可以给这个对象增加一些职责。 (3)Decorator,装饰抽象类...转载 2018-11-20 13:11:14 · 248 阅读 · 0 评论 -
大话设计模式(C++)第八章-工厂方法模式
概念 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。 包含的角色 (1)抽象工厂 (2)具体工厂 (3)抽象产品 (4)具体产品 简单工厂模式:https://blog.youkuaiyun.com/Rage_/article/details/83622312 优势 (1)工厂方法模式是对简...转载 2018-11-26 15:29:22 · 316 阅读 · 0 评论 -
大话设计模式(C++)第九章-原型模式
概念 原型模式(Prototype):用原型示例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。 三、说明 (1)原型模式实际上就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。 (2)一般在初始化的信息...转载 2018-11-27 16:40:52 · 274 阅读 · 0 评论