设计模式
文章平均质量分 59
玩火轩辕
这个作者很懒,什么都没留下…
展开
-
设计模式2——工厂模式(创建型模式)
今天折腾第二种设计模式:工厂模式。 和单例模式一样,工厂模式也是一种创建型模式。 通俗一点的话来讲,工厂模式的出现是为了让开发人员使用统一的接口函数(工厂类)实现相关类的实例化,这些待实例化的类有彼此类似的结构或者功能,这样开发人员就不用挨个去执行 new 操作,将具体的实例化 new 操作交给封装好的工厂类。 《大话设计模式》一书中介绍了三种工厂模式,分别是:简单工厂模式,工厂模式,...原创 2018-07-17 18:50:16 · 202 阅读 · 0 评论 -
设计模式9——装饰模式(结构型模式)
本文的内容参考了以下博客和《大话设计模式》: https://www.cnblogs.com/jzb-blog/p/6717349.html 装饰模式 是一种常见的设计模式,个人理解装饰就是锦上添花之意,即在原有功能基础上增加新功能。 这个模式的设计思想和实现方式比较简单,直接上图。 UML 标题 Component 为统一接口,也是装饰类和被装饰类的基本类型。 Concrete...原创 2018-09-26 20:22:26 · 147 阅读 · 0 评论 -
Effective Java 读书笔记(第2章 创建和销毁对象)——持续更新中
第一条: 考虑用 “静态工厂方法” 代替 “构造器” 此处的 “静态工厂方法” 不直接对应设计模式中的工厂方法。 “静态工厂方法” 相对于 “构造器”有以下4点优势: 第一大优势:有名称。 名字可用于描述被返回的对象,易于阅读和字面理解。类似 bigApple()、smallApple()可以很形象表述要返回对象的特征。 第二大优势:不必每次调用都创建一个新对象。 比如 “单例模...原创 2018-09-28 17:31:54 · 179 阅读 · 0 评论 -
设计模式8——组合模式(结构型模式)
本文在书写过程中参考了以下文章及《大话设计模式》: https://www.cnblogs.com/snaildev/p/7647190.html https://www.cnblogs.com/lfxiao/p/6816026.html https://blog.csdn.net/CYL926/article/details/79134640 组合模式的概念 组合模式(Composit...原创 2018-09-25 19:57:18 · 252 阅读 · 0 评论 -
设计模式7——桥接模式(结构型模式)
本文在准备时,参考了以下博客和《大话设计模式》 https://www.cnblogs.com/lfxiao/p/6815760.html http://www.cnblogs.com/chenssy/p/3317866.html 1. 使用桥接模式的时机: 当我们需要多角度去分类实现对象,一昧的继承会造成大量类的增加,不能满足开放-封闭原则(增加开放,修改封闭)时,就应该要考虑用桥接模式...原创 2018-09-18 22:06:27 · 182 阅读 · 0 评论 -
设计模式6——适配器模式(结构型模式)
所谓的适配器模式,实现了 “ 目标接口 ” 到 “ 现有接口 ” 的转换,即:将一个现有类的接口转换成客户希望的另一个接口,使得那些原本由于接口不兼容而不能一起工作的类可以一起工作。 当用户所需要的 “目标接口” 和 “现有接口” 出现不一致的情况,在不改变两种接口前提下,需要使用 “适配器模式”,实现对现有接口的充分利用。 一,适配器模式的结构图 适配器模式分为两种类型,分别是 “类适配器...原创 2018-08-28 21:46:14 · 326 阅读 · 0 评论 -
设计模式5——原型模式(创建型模式)
原型模式,根据现有的实例变量( A ),复制(克隆)出相同类型的实例变量 ( B )。 要理解原型模式的实质,核心的要点是搞清楚 “ 深复制 ” 和 “ 浅复制 ”。 一,“ 深复制 ” 和 “ 浅复制 ” 的概念和区别 浅复制:使用一个已知实例 ( A ) 对新创建实例 ( B ) 的成员变量逐个赋值,这个方式也被称为浅拷贝 深复制:不仅要复制对象的所有非引用类型成员(即基本数据类型变量...原创 2018-08-24 20:59:38 · 173 阅读 · 0 评论 -
设计模式4——建造者模式(创建型模式)
今天突击一个新的创建型设计模式:建造者模式 1、建造者模式的应用场景: 工作中经常遇到构建过程很复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。 此时可以将这类对象的建造和组装分别抽象出来,分别用建造类和组装类表示,实现对象部件的建造和组装的分离,达到简化构建过程的目的。 2、一种场景应用 上面的 UML 图取自《大话设计模式》,用于...原创 2018-08-06 21:07:20 · 202 阅读 · 0 评论 -
设计模式3——抽象工厂模式(创建型模式)
抽象工厂模式是工厂模式的升级。相对而言,抽象工厂模式并不像工厂模式那么好理解,看了不少网上博客的描述,感觉都说说的云里雾里,个人觉得还是把抽象问题具体化更好。推崇《大话设计模式》中的讲解模式。本文讲以更通俗的语言,结合《大话设计模式》中使用的实例,把抽象工厂模式理清楚。 1. 对工厂模式的回顾 先总结下个人对工厂模式的理解: 工厂模式中的类主要分两大类群,一是产品类群,而是工厂类群。 ...原创 2018-07-21 13:38:01 · 209 阅读 · 0 评论 -
设计模式1——单例模式(创建性模式)
今天一觉醒来受了点刺激,博客写起来确实很花费精力,最近博客写的有点慢、有点少。总体来说,缺少计划,今天就来点计划,之前研究过一段时间的设计模式,但是没有输出,看过的、标记过的东西都在书里,总结起来会比较快,近期的博客计划就拿设计模式开刀了,一周写个5/6篇,日更。今天第一篇,就先从最简单的“单例模式”开始。Android系统源码中使用了大量的设计模式,但是,对于初学者来说,直接到源码里翻设计模式还...原创 2018-07-15 01:57:37 · 193 阅读 · 0 评论 -
设计模式10——外观模式(结构型模式)
本篇文章主要参考《大话设计模式》相关章节 外观模式 外观模式为子系统中的接口提供了一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 UML 外观模式 ● 外观(Facade) :客户端可以调用Facade中提供的方法。Facade了解子系统群中可实现的功能。外观的名称我个人觉得是代表整个子系统群向Client端展示一个总接口,Facade接口...原创 2018-09-28 21:56:03 · 271 阅读 · 0 评论