设计模式
qq_34229789
沙滩一躺三年半
展开
-
12-设计模式-外观模式
外观模式概念以下内容摘自菜鸟教程 意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。 何时使用: 1、客户端不需要知道系统内部的复杂联系,整个系统只需提供一个”接待员”即可。 2、定义系统的入口。 如何解决:客户端不与系统耦合,外观类与...原创 2018-04-27 09:50:49 · 455 阅读 · 0 评论 -
11-设计模式-观察者模式
观察者模式概念 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。 何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。 如何解决:使用面向对象技术,可以将这种...原创 2018-04-26 14:06:04 · 78 阅读 · 0 评论 -
10-设计模式-责任链模式
责任链模式概念首先,我们先看一下来自菜鸟教程中对于责任链模式的介绍 意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。 主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。 ...原创 2018-04-26 10:23:33 · 89 阅读 · 0 评论 -
9-设计模式-装饰器模式
装饰器模式概念以下内容摘自菜鸟教程 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。 主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。 何时使用:在不想增加很多子类的情况下扩展类。 如何解决:将具体功能职责划分,同时继承装饰者模式。 ...原创 2018-04-25 17:43:32 · 147 阅读 · 0 评论 -
8-设计模式-适配器模式
以下内容参考 https://blog.csdn.net/zxt0601/article/details/52848004 https://blog.csdn.net/qq924862077/article/details/53399969适配器模式概念以下摘自菜鸟教程 意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作...原创 2018-04-25 14:52:02 · 93 阅读 · 0 评论 -
7-设计模式-代理模式
代理有关java代理的概念代理模式概念以下摘自菜鸟教程 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上...原创 2018-04-25 11:45:01 · 157 阅读 · 0 评论 -
6-设计模式-原型模式
原型模式概念以下内容摘自菜鸟教程 意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 主要解决:在运行期建立和删除原型。 何时使用: 1、当一个系统应该独立于它的产品创建,构成和表示时。 2、当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3、为了避免创建一个与产品类层次平行的工厂类层次时。 4、当一个类的实例...原创 2018-04-24 14:58:05 · 112 阅读 · 0 评论 -
5-设计模式-建造者模式
建造者模式概念以下内容摘自菜鸟教程 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 主要解决:主要解决在软件系统中,有时候面临着”一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。 何时使用:一些基本部件不会变,而其组合经...原创 2018-04-24 14:30:01 · 199 阅读 · 0 评论 -
4-设计模式-单例模式
概念首先,重点!!! - 单例类只能有一个实例 - 单例类必须自己创建自己的唯一实例 - 单例类必须给所有其他对象提供这一实例单例模式可以说是23种设计模式中至关重要的设计模式之一,在我们的生活中无处不在。此外,其实现也有很多种,同时也存在着线程安全问题。 以下内容摘自菜鸟教程 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 主要解决:一个全局使用...原创 2018-04-24 11:35:10 · 517 阅读 · 0 评论 -
3-设计模式-抽象工厂模式
以下内容摘自 http://www.runoob.com/design-pattern/abstract-factory-pattern.html https://blog.csdn.net/jason0539/article/details/23020989在此权作为笔记抽象工厂模式上一章我们分析了简单工厂模式与工厂方法模式,这一章我们来探讨一下抽象工厂模式。先看菜鸟...原创 2018-04-24 11:06:02 · 199 阅读 · 0 评论 -
2-设计模式-简单工厂模式与工厂方法模式
简单工厂模式工厂模式作为创建型模式的一种,它首先将需要生产的产品抽象化,提取出一个公共的接口,而每一个产品就是这个接口的实现类。然后创建一个工厂类,当我们工厂类生产产品时,只需要返回该接口即可。 此处参考该博客 http://blog.csdn.net/qq_28055429/article/details/51628921简单工厂模式是属于创建型模式,又叫做静态工厂方法(St...原创 2018-04-24 10:11:07 · 129 阅读 · 0 评论 -
1-设计模式-概念
以下内容转载自 https://blog.csdn.net/zhengzhb/article/details/7187278在此权作为笔记前言在面向对象设计模式中,类与类之间的关系主要分六种,它们分别是: 依赖、关联、聚合、组合、继承、实现。耦合度依次增强。1. 依赖依赖,虚线箭头 B类作为A类中的方法参数、局部变量或者静态方法调用。可以说A依赖于B。...转载 2018-04-23 16:40:27 · 193 阅读 · 0 评论 -
13-设计模式-组合模式
组合模式概念以下摘自菜鸟教程 意图:将对象组合成树形结构以表示”部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 主要解决:它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 何时使用: 1、您想表示对象的部分-整体层次结构(树形结构...原创 2018-04-27 14:32:38 · 182 阅读 · 0 评论