设计模式
文章平均质量分 67
e根油条
觉得有用就关注一下吧,我们一起成长
展开
-
简单的代理模式
代理模式 1、什么是代理模式 为其他对象提供一种代理,以控制这个对象的访问,注明的poi就是使用的代理模式 2、代理类特点 1、代理类和目标类拥有共同的接口 2、代理类在目标类执行方法前后进行一些处理 3、代码实现 需求:我们利用打官司这个需求来实现代理模式,需求的核心点为人要打官司,需要律师来帮忙打官司,以下为代码的实现......原创 2021-02-19 10:37:31 · 236 阅读 · 0 评论 -
简单的模板模式,一句话概括“一套模板,多处使用”
模板模式 1、什么是模板模式 模板模式是指一套相同的操作行为,只是内容不同,比如把大象放进冰箱需要三步,操作时一致的,只不过可能内容不同,可能放的是长颈鹿,可能容器为微波炉,不需要修改模板本身,只需要将具体的实现修改内容即可 2、代码体现 用把大象装进冰箱为例,编写一套模板模式的体现 1、创建模板抽象类,该抽象类不实现具体方法,只提供要实现的操作和执行public abstract...原创 2020-12-26 15:50:36 · 377 阅读 · 1 评论 -
简单的适配器模式,一句话概括“适配更多场景”
适配器模式 1、什么是适配器模式 适配器,字如其名,就是为了适配用的,比如电脑电源里就是适配器,具体作用,比如电脑充电需要18v电压,插座电源是220v,想要正常充电就得将220v的电压转换为18v来充电,否则就会出错,那这个就叫做适配器 2、作用 为了可以兼容更多场景,代码更健壮 3、代码实现 场景为现在有一个220v电压的插座,此时,有一个只能接受18v的电脑想要在2...原创 2020-12-26 15:26:46 · 184 阅读 · 0 评论 -
简单的桥接模式,一句话概括“多维度产品使用引入方式实现”
桥接模式 1、什么是桥接模式 桥接模式是用抽象类将多维度的产品进行分离,使用时将两个维度进行组合,好处是方便拓展,很好的实现了解耦。 举例:比如图形就是多维度产品,颜色和形状就是图形的两个维度,这种就可以使用桥接模式,形状抽象类注入颜色对象,当然也可以反之,具体看业务,实现效果就是比如正方形注入红色,就可以体现为红色正方形,注入蓝色,就是蓝色正方形 2、代码实现 1、创建注入接口,想要注入到形状中,肯定...原创 2021-01-11 14:03:27 · 185 阅读 · 0 评论 -
简单的外观模式,一句话概括“组合多个复杂对象,提供一致入口,外界访问简单”
外观模式 1、什么是外观模式 为多个复杂的子系统提供一个一致的外观接口入口,而使这些子系统更加容易被访问,就比如此时现在有一个下单功能,需要增加订单,减库存,等等操作,此时用户调用多个比较麻烦,这时就比较适合使用外观模式。 2、与建造者模式区别 此时发现外观模式和建造者模式很像,都是包装子方法,给外界提供一个唯一的入口,方便调用者调用,但是其中的区别在于,建造者模式可能会有多种类进行实现,比如可以创建平房也可以创建楼房,但是外观...原创 2020-12-26 13:49:34 · 150 阅读 · 0 评论 -
简单的观察者模式,一句话概括“一个类发布消息,其他类可以收到通知”
观察者模式 1、什么是观察者模式 观察者模式理念就是当一个类发出消息后,其他类可以在不用实际调用的情况下得到通知。 举例:rabbitmq就是观察者模式 2、代码实现 需求是发送一条消息,这次我们利用java中提供的ObServer来实现观察者模式,来更好的理解观察者模式, 1、首先创建消息类,...原创 2020-12-20 22:47:42 · 290 阅读 · 0 评论 -
简单的策略模式,一句话概括“不修改对象的情况下,使方法可以有不同的执行效果”
策略模式 1、什么是策略模式 策略模式指的是可以在不修改对象的情况下,使方法可以有不同的效果 例如:加密类,可以有md5,也可以有des加密,此时,想要修改加密类的加密方式,但不想修改本类,那就可以使用该模式 2、代码演示 1、首先创建一个加密接口,主要目的是可以用多态的方式进行注入到执行的类中public interface Strategy { void ji...原创 2020-12-20 22:11:27 · 177 阅读 · 0 评论 -
简单的单例,一句话概括“整个程序中只存在一个实例”
单例的学习 1、单例是什么 单例,顾名思义,就是一个实例的意思,这样的优势在于节约内存,减少没有必要的创建对象原创 2020-12-15 18:46:44 · 436 阅读 · 0 评论 -
简单的工厂模式,一句话概括“我们不生产类,我们只从子类拿”
工厂模式学习 1、简单工厂模式学习 1、简单工厂模式中,分为三个主要角色,工厂类,抽象产品类,具体产品类,工厂类是整个类的核心,主要功能是根据调用者传入的值,返回外界想要的对象,调用者无需知道内部是如何创建的,只需要知道自己想要某个类即可。 以下我们分别将三个角色实现:以下场景的需求为获取水果工厂里生产的水果 2、先创建抽象产品类,该类为接口,主要是为了具体产品类进行...原创 2020-12-19 14:43:31 · 250 阅读 · 1 评论 -
简单的原型模式,一句话概括“复制一个新对象”
学习原型模式 1、什么是原型模式 原型模式主要是指复制对象的方式来创建对象,这样的优点是要比new对象的方式快 2、实现原型模式 1、浅度克隆:主要是调用java提供的Cloneable中的clone方法进行复制对象,调用方法较为简单,以下我们来实现下代码package protoType;//Cloneable 告诉虚拟机 这个对象是可以克隆的public class User impl...原创 2020-12-19 15:21:52 · 158 阅读 · 1 评论 -
简单的建造者模式,一句话概括“复杂的调用让内部实现,调用者动态调用简单,子类继承方式,动态修改建造内容”
学习建造者模式 1 ,什么是建造者对象 1、隐藏了对象的创建过程,将对象的创建封装,让调用者更简单的创建,比如盖房子,需要盖楼顶,刷墙,铺地板,此时如果是调用者来实现,调用者需要自己来盖楼顶,刷墙,铺地板,增加了盖房子的难度,我们可以封装一个 建造者对象来处理这些难的事情 2、创建房子对象public class House { //...原创 2020-12-19 16:07:50 · 196 阅读 · 1 评论 -
简单的装饰模式,一句话概括“不动原代码的情况下,拓展新的功能”
学习装饰模式 1、什么是装饰模式 在不修改原来的类的情况下,动态的拓展这个类的功能,比如,现在有一个人,想要调用的时候加上帅这个修饰,也比如一个图片,在创建之后加上一些水印,这些都是可以使用装饰模式来处理的,有点类似于代理模式,但是需要原对象传入 2、装饰模式实现 需求:一个类,现在只能打印人这么一句话,在不动这个类的情况下,打印在后面打印一个“帅”字 1、首先创建...原创 2020-12-19 16:51:54 · 483 阅读 · 2 评论