《图解设计模式》读书笔记5-1 composite模式

摘要: [toc] Composite模式即组合模式。它能够 使容器和内容具有一致性,创造出递归结构 。 举个例子:在文件系统中,文件夹既是内容,也是容器,具有一致性,这样一来,文件系统形成递归结构。组合模式就是用来创建这种结构的。 代码 下面这段代码以文件系统为例实现了组合模式。 UML Entry类 表 阅读全文
posted @ 2019-06-09 11:21 vplus 阅读(112) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记4-2 STRATEGY模式

摘要: [toc] Strategy模式即策略模式,在编程中,策略指的就是算法。利用此模式可以整体替换算法,即使用不同方式解决同一个问题。比如设计一个围棋程序,通过切换算法可以方便地切换AI的难度。 示例程序 要实现:模拟两个人用不同的策略玩猜拳游戏。 UML Hand类 (手势类) Strategy接口 阅读全文
posted @ 2019-06-09 11:14 vplus 阅读(141) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记4-1 Bridge模式

摘要: [toc] 概念 Bridge模式即桥接模式。顾名思义,这个模式的作用是将类的 功能层次结构 和类的 实现层次结构 连接起来。 功能层次结构 子类添加父类没有的功能,他们之间的结构就是功能层次结构。 实现层次结构 以 "模板方法" 模式为例,父类声明了抽象方法,定义了抽象方法的使用方式;子类继承并实 阅读全文
posted @ 2019-06-09 11:12 vplus 阅读(111) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记3-3 Builder模式

摘要: [toc] Builder模式即建造者模式,利用这个模式可以 组装具有复杂结构的实例 。 示例程序 使用Builder模式创建一个文档,文档有标题,句子和几个条目。 Builder是抽象类,定义了文档的结构。继承Builder的子类实现了具体的方法。 我们定义了两个Builder的子类:TextBu 阅读全文
posted @ 2019-06-09 11:10 vplus 阅读(380) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记3-2 Prototype模式

摘要: [toc] Prototype(原型)模式的由来 创建一个实例,可以关键字 new 创建。但有时候,我们需要在不指定类名的前提下生成实例,比如: 需要处理的对象种类繁多,无法整合到一个类里面,如果分别作为一个类,类的数量又太多了。 很难通过代码生成实例:比如用户在画图工具中画出来的图形实例,如果用代 阅读全文
posted @ 2019-06-09 11:03 vplus 阅读(261) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记3-1 Singleton模式

摘要: [toc] 单例模式 确保任何情况下都只有一个实例 饿汉式 优点:实现简单,没有线程同步问题。 缺点:实例会一直占用内存,浪费空间。 懒汉式 优点:实例化推迟到需要之时,不浪费内存空间。 缺点:线程不安全 线程安全的懒汉式 优点:推迟加载,占用空间少,线程安全 缺点:麻烦 阅读全文
posted @ 2019-06-09 11:01 vplus 阅读(103) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记2-2 Factory Method模式

摘要: [toc] 类图 代码 角色介绍 Product:是一个抽象类,定义了在工厂方法模式中生成的类所具有的接口(API) Creator:负责生成Product角色的抽象类。不用new关键字生成实例,而是调用生成实例的方法来创建实例,防止基类和其他具体的类耦合。它只知道调用方法可以生成实例,对具体生成实 阅读全文
posted @ 2019-06-09 10:59 vplus 阅读(167) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记2-1 Template Method模式

摘要: [toc] 模板方法模式 在父类中定义流程,在子类中实现具体的方法。 类图 代码 思想: 如果我们要用很多的类去实现相似的业务逻辑,可以将方法的流程抽取出来放到基类的模板方法。如果流程有变化,或者有bug,就不用逐个修改具体类,只用修改基类的模板方法即可。 在该模式中,子类和基类是紧密相连,共同工作 阅读全文
posted @ 2019-06-09 10:56 vplus 阅读(185) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记1-2 Adapter模式

摘要: [toc] Adapter即适配器,可以类比为将220V的电压的电源转为5V电压的手机充电器,起转换的作用。 明确概念: Adaptee :被适配者,即220v电压的电源 Adapter :适配器,即手机充电器 Target :适配目标,即输出5V电压 Client :请求适配者,即手机 Adapt 阅读全文
posted @ 2019-06-09 10:03 vplus 阅读(128) 评论(0) 推荐(0) 编辑

《图解设计模式》读书笔记1-1 Iterator模式

摘要: [toc] 迭代器模式的类图 类图的解释 | 名称 | 说明 | | | | | Aggregate | 集合接口,有提供迭代器的方法 | | Iterator | 迭代器接口,提供迭代操作 | | BookShelf | 书架类 | | Book | 书类 | | BookShelfIterato 阅读全文
posted @ 2019-06-09 10:00 vplus 阅读(208) 评论(0) 推荐(0) 编辑