摘要: 想想我们编辑文档用的wps,文档里文字很多都是重复的,我们不可能为每一个出现的汉字都创建独立的空间,这样代价太大,最好的办法就是共享其中相同的部分,使得需要创建的对象降到最小,这个就是享元模式的核心,即运用共享技术有效地支持大量细粒度的对象。 享元对象能做到共享的关键是区分内蕴状态(Internal 阅读全文
posted @ 2017-08-10 23:24 杜东洲 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。 适用于: 为子系统中统一一套接口,让子系统更加容易使用。 要点 1.Facade模式对客户屏蔽了子 阅读全文
posted @ 2017-08-10 23:01 杜东洲 阅读(744) 评论(0) 推荐(0) 编辑
摘要: Bridge 模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。 它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能 阅读全文
posted @ 2017-08-10 22:33 杜东洲 阅读(612) 评论(0) 推荐(0) 编辑
摘要: Composite模式也叫组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。 Component (树形结构的节点抽象) - 为所有的对象定义统一的接口(公共属性,行为等的定义) - 提供管理子节点对象的接口方法 - [可选]提供管理父节点对象的 阅读全文
posted @ 2017-08-10 20:44 杜东洲 阅读(714) 评论(0) 推荐(0) 编辑
摘要: Adapter模式也叫适配器模式,就是需要一个翻译 是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。 适用于:是将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 什么时候使用适配器 装饰者与适配者模式的区别: 1.关 阅读全文
posted @ 2017-08-10 18:32 杜东洲 阅读(2164) 评论(0) 推荐(0) 编辑
摘要: 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。 装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。 在装饰模式中的各个角色有: 抽 阅读全文
posted @ 2017-08-10 17:48 杜东洲 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。 概述 作为C++工程师,免不了要管理内存,内存管理也是C++中的难点,而智能指针采用引用计数的办法很方便的帮我们管理了内存的使用,极大方便 阅读全文
posted @ 2017-08-10 17:14 杜东洲 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 单例模式,顾名思义,就是只能由一个实例,那么我们就必须保证 那么对于C++来说,他的构造函数,拷贝构造函数和他的赋值函数都不能被公开调用。 但对于该私有的构造函数的构造时机上来说也可以分两种情况来构造: 特点 阅读全文
posted @ 2017-08-10 16:10 杜东洲 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 原型模式(Prototype Pattern) 实际上就是动态抽取当前对象运行时的状态。 Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。 1)由原型对象自身创建目标对象。也就是说,对象创建这一动作发自 阅读全文
posted @ 2017-08-10 11:50 杜东洲 阅读(274) 评论(0) 推荐(0) 编辑
摘要: Builder模式 是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 创建的是一个复合对象:被创建的对象为一个具有复合属性的复合对象- 关注对象创建的各部分的创建过程 适用情况:一个对象的构建比较复杂,将一 阅读全文
posted @ 2017-08-10 11:04 杜东洲 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 备注 工厂模式:要么生产香蕉、要么生产苹果、要么生产西红柿;但是不能同时生产一个产品组。 抽象工厂:能同时生产一个产品族。 》抽象工厂存在原因 解释 : 具体工厂在开闭原则下, 能生产香蕉/苹果/梨子; (产品等级结构) 抽象工厂:在开闭原则下, 能生产:南方香蕉/苹果/梨子 (产品族) 北方香蕉/ 阅读全文
posted @ 2017-08-10 01:22 杜东洲 阅读(521) 评论(0) 推荐(0) 编辑
摘要: A :简单工厂模式 : 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 主要用于创建对象。新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到 阅读全文
posted @ 2017-08-10 00:18 杜东洲 阅读(366) 评论(0) 推荐(0) 编辑