【Design Patterns】
设计模式相关
小豆瓣的靳先生
这个作者很懒,什么都没留下…
展开
-
模板方法模式(模板方法设计模式)详解
参考地址AQS定义的抽象方法,在子类实现有用到模版方法设计模式.前言在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的...转载 2020-03-13 18:31:17 · 484 阅读 · 0 评论 -
23种设计模式之:策略模式
转载地址:https://blog.csdn.net/zhengzhb/article/details/7609670整理的设计模式实例:https://github.com/jinchuanchuan/design-patterns一、定义、类型及类图定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。(策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模...转载 2018-09-21 11:34:03 · 322 阅读 · 0 评论 -
23种设计模式之:模板方法模式
转载地址:https://blog.csdn.net/zhengzhb/article/details/7405608整理的设计模式实例:https://github.com/jinchuanchuan/design-patterns一、定义、类型及类图定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。 类型:行为...转载 2018-09-21 17:20:39 · 834 阅读 · 0 评论 -
23种设计模式之:原型模式
一、定义、类型及类图定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 二、原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用...转载 2018-09-28 15:16:29 · 284 阅读 · 0 评论 -
23种设计模式之:外观模式
一、定义、类型及类图定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。(也叫门面模式) 类型:结构类模式 类图: 二、实例医院例子:现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划...原创 2018-09-28 17:52:02 · 369 阅读 · 0 评论 -
设计模式总汇及六个原则
设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。设计模式的六大原则:总原则-开闭原则...原创 2019-04-03 17:34:06 · 317 阅读 · 0 评论 -
23种设计模式之:观察者模式
定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式(又被称为发布-订阅(Publish/Subscribe)模式)类图:在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,...转载 2019-04-22 15:37:17 · 421 阅读 · 0 评论 -
23种设计模式之:命令模式
定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。类型:行为类模式类图:命令模式的结构顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构:Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。 C...转载 2019-04-22 21:17:14 · 279 阅读 · 0 评论 -
23种设计模式之:代理模式
一、定义、类型及类图定义:为某个对象提供一个代理,从而控制这个代理的访问。 特点: 代理类和委托类具有共同的父类或父接口,这样在任何使用委托类对象的地方都可以使用代理类对象替代。 代理类负责请求的预处理、过滤,将请求分配给委托类处理,以及委托类处理完请求的后续处理。 类型:结构类模式 类图:二、代理模式结构抽象角色:真实对象和代理对象的共同接口。 代理角色:代理对象角色...转载 2018-09-26 17:45:23 · 770 阅读 · 0 评论 -
23种设计模式之:建造者模式
一、定义、类型及类图定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。(又叫生成器模式) 类型:创建类模式 类图:二、四个要素Product:表示被构造的复杂对象,其中包含需要构建的部件属性。 Builder:创建一个产品对象的各个部件指定抽象接口。 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所...原创 2018-09-26 15:17:17 · 671 阅读 · 0 评论 -
设计模式-适配器模式
一、定义适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。——出自《大话设计模式》 其别名为包装器(Wrapper)二、目的即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 实例: 三、角色目标接口(Target):客户所期待的接口。目标可以...原创 2018-09-13 15:22:26 · 188 阅读 · 0 评论 -
23种设计模式之:简单工厂模式and工厂方法模式
转载地址整理的设计模式实例:https://github.com/jinchuanchuan/design-patterns一、定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。二、分类工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式可以分为三类: 简单工厂模式(S...转载 2018-09-20 16:59:37 · 192 阅读 · 0 评论 -
23种设计模式之:抽象工厂模式
转载地址一、工厂方法和抽象工厂的区别在于:工厂方法是一个抽象产品类,而抽象工厂是多个抽象产品类。根据《大话设计模式》中抽象工厂模式,用反射的机制重写工厂类。github地址:https://github.com/jinchuanchuan/design-patterns二、例子背景:随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件。于是这个工厂开始生产空调和发动机...转载 2018-09-20 20:12:34 · 235 阅读 · 0 评论 -
深入Java单例模式
一篇写的非常全面的单例模式:http://devbean.blog.51cto.com/448512/203501在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。 所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是转载 2017-08-03 16:12:03 · 324 阅读 · 0 评论