![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
★·········【设计模式GOF】
文章平均质量分 63
Ryze丶
不积跬步无以至千里
展开
-
设计模式之单例设计模式(最初)
设计模式之单例设计模式(最初版) a) 解决的问题:创建唯一一个对象(使创建的对象具有唯一性) b) 设计思路: i. 只要构造函数是public修饰,就能被其他程序调用创建任意多个对象—》用private修饰构造函数 ii. 唯一存在的对象怎么出现?–》直接在本类中new出来 iii. 在本类new出来之后怎么提供给外界使用?提供对外的public方法; 注意:既然不能通...原创 2018-02-08 23:40:10 · 178 阅读 · 0 评论 -
设计模式-单例模式
Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。” 1.饿汉式 package testSingletonUnderMultiThreads; /** * @author zhangdi * 饿汉式 : 存在效率和资源占用问题 */ public class Singleton_1_MyObject { // 饿汉式 private static S...原创 2018-07-11 10:45:33 · 182 阅读 · 0 评论 -
设计模式-装饰器模式
装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。 介绍 ...原创 2018-08-04 15:08:04 · 213 阅读 · 0 评论 -
设计模式-代理模式
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 意图:为其他对象提供一种代理以控制对这个对象的访问(类似明星和经纪人)。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销...原创 2018-08-09 23:26:07 · 166 阅读 · 0 评论 -
设计模式-模板模式
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 主要解决:一些方法通用,却在每一个子类都重新写了...转载 2018-08-13 22:53:22 · 201 阅读 · 0 评论 -
设计模式-外观模式(facade)
基本概念 外观模式的作用: 松散耦合,外观模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护。 简单易用,外观模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟门面类交互就可以了。 更好的划分访问层次-通过合理使用 Facade,可以帮助我们更好地划分访问的层次。有些方法是对系统外的,有些方法是系统内部使用的...转载 2018-11-08 11:19:47 · 276 阅读 · 0 评论 -
设计模式-命令模式
命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 介绍 意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。 主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对...原创 2019-02-02 11:39:01 · 252 阅读 · 0 评论