
设计模式
文章平均质量分 84
果子爸聊技术
微信公众号:【Java天堂】,坚持分享技术干货
混迹在互联网浪潮下的技术人,始终坚信技术改变世界~~~
展开
-
设计原则:开闭原则
学了那么多设计模式,你知道开闭原则吗?原创 2021-03-01 23:50:28 · 16411 阅读 · 0 评论 -
设计原则:单一职责
学了那么多设计模式,还是写不好代码,咋办?原创 2021-02-25 22:11:26 · 16969 阅读 · 0 评论 -
调度中心-中介者模式
概述中介者模式是用来降低多个对象和类之间的通信复杂性,这种模式提供一个中介者用来处理多个对象和类之间复杂的依赖关系,所有的依赖关系都通过中介者来处理,降低了对象间的耦合,中介者模式属于行为型模式。如图所示,左侧是一个对象依赖的关系图,多个对象之间相互依赖,形成一个复杂的网状图,这样会导致整个逻辑错综复杂,理解起来比较费劲而且不容易扩展。在右侧我们引入中介者,所有的对象依赖全部通过中介者来完成...原创 2020-02-17 08:46:22 · 1493 阅读 · 0 评论 -
Copy小王子-原型模式
概述原型模式用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式的核心是一个clone方法,通过该方法进行对象的拷贝,Java提供了一个Cloneable接口来标示这个对象是可拷贝的类图原型模式也是一种很简单的模式,其核心就是使用了对象的克隆代码实现public class Classes { private String name; public...原创 2020-02-13 10:27:34 · 1230 阅读 · 0 评论 -
你的代言人-代理模式
概述代理模式为其他对象提供一种代理以控制对这个对象的访问。也就是当你想访问某个对象时,不能直接访问它而需要通过它的代理对象来进行访问。就好比你要拜访某位名人,都是需要先通过他的助理,助理在这里就起到了代理的作用。类图在代理模式中,有几种角色抽象角色(AbstractSales)定义了抽象的产品真实角色(RealSales)抽象产品的实现者代理角色(ProxySales)负责代理Re...原创 2020-02-11 09:28:59 · 1226 阅读 · 0 评论 -
建筑大师-建造者模式
概述建造者模式(Builder Pattern)将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定类图...原创 2020-02-08 21:00:25 · 1156 阅读 · 0 评论 -
照葫芦画瓢-模板方法模式
概述模板方法模式在一个方法中定义了一个算法骨架,而将一些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤类图AbstractDataSource定义了一个抽象的DataSource连接过程AbstractDataSource中loadDriver()、getConnection()、query()、close()是DataSource的几个步...原创 2020-02-06 23:12:18 · 1266 阅读 · 0 评论 -
对象生产基地-工厂模式
概述工厂模式,顾名思义就是用来产生对象的,一般分为简单工厂模式、工厂方法模式、抽象工厂模式,严格意义上讲简单工厂不算是一种模式,它是简化版的抽象工厂模式,今天我们主要介绍一下工厂方法模式和抽象工厂模式工厂方式模式工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。工厂方法模式是常用的创建类型的设计模式,在创建对象是不会向客户端暴露创建逻辑...原创 2020-02-05 23:24:47 · 1235 阅读 · 0 评论 -
唯我独尊-单例模式
概述单例模式(Singleton pattern),从字名意思来看就知道只会产生一个实例对象,属于创建类型的一种常用设计模式Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”一般这种专业的定义都写的晦涩难懂,我们来理解一下,一个类有且仅有一个实例,说的是这个类只会产生一个对象,任何其他对象对它的依赖都是一样的,访问的是同一个对象。自行实例化向整个系统提供,说的...原创 2020-01-29 20:37:38 · 1266 阅读 · 0 评论 -
设计模式学习-观察者模式
定义观察者模式定义了对象之间的一对多依赖关系,当一个对象改变时,它所有的依赖对象都会收到通知并自动更新类图Subject是主题接口,定义了订阅、取消订阅、通知更新等方法 CurrentSubject是具体的主题实现类,实现的Subject接口的订阅、取消、通知更新方法,还包含一个存储观察者的list Observer是观察者接口,只有一个update方法 UserObse...原创 2018-04-26 23:25:21 · 1252 阅读 · 0 评论