
设计模式
XiaoCheng5200
努力努力再努力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
装饰模式
装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。 装饰模式的类图如下: 在装饰模式中的角色有: ● 抽象...转载 2018-08-30 11:13:48 · 176 阅读 · 0 评论 -
观察者模式
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式的结构 一个软件系统里面包含了各种对象,就像一片欣欣向荣的森林充满了各种生物一样。在一片森林中,各种生物彼此依赖和约束,形成一个个生物链。一种生物的状态变化会造成其他一些生物的相应行动,每一个生物都处于别的生物的互动之中。...转载 2018-08-31 15:12:28 · 137 阅读 · 0 评论 -
策略模式
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,...转载 2018-08-31 14:39:34 · 140 阅读 · 0 评论 -
工厂方法
工厂方法模式是类的创建模式工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 那么工厂方法模式是在什么场景下使用呢,下面就以本人的理解举例说明: 相信很多人都做过导入导出功能,就拿导出功能来说。有这么一个需求:XX系统需要支持对数据库中的员工薪资进行导出,并且支持多种格式如:HTML、CSV、PDF等,每种格式导出的结构有所不同,比如:财务跟其他人对导出...转载 2018-08-28 15:33:39 · 154 阅读 · 0 评论 -
适配器模式
适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。适配器模式有两种:类适配器、对象适配器、接口适配器前二者在实现上有些许区别,作用一样,第三个接口适配器差别较大。1、类适配器模式: 原理:通过继承来实现适配器功能。 当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方...转载 2018-06-27 10:13:12 · 130 阅读 · 0 评论 -
简单工厂
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。那么简单工厂模式是在什么场景下使用呢,下面就以本人的理解举例说明: 就拿登录功能来说,假如应用系统需要支持多种登录方式如:口令认证、域认证(口令认证通常是去数据库中验证用户,而域认证则是需要到微软的域中验证用户)。那么自然的做法就...转载 2018-06-26 16:52:24 · 181 阅读 · 0 评论 -
单例模式
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 饿汉式单例类public class EagerSingleton { private static EagerSingleton instance = new EagerSingleton(); /** * 私有默认构造子 */ ...转载 2018-05-29 11:07:43 · 163 阅读 · 0 评论 -
代理模式
原文作者:陈树义原文出处:http://www.imooc.com/article/21339?block_id=tuijian_wz#本文有略微省略,省去了实现动态代理的源码分析,有兴趣的可以去原文观看. 代理模式是设计模式中非常重要的一种类型,而设计模式又是编程中非常重要的知识点,特别是在业务系统的重构中,更是有举足轻重的地位。代理模式从类型上来说,可以分为静态代理和...转载 2018-06-15 09:32:08 · 177 阅读 · 0 评论