设计模式知识体系
口嗨架构师
一个喜欢口嗨的内心想成架构师的拧螺丝钉的
展开
-
设计模式-模板模式
模板模式的个人简单理解:将业务中常用的但是不同场景不同逻辑的方法抽取出来当成模板,当场景不同业务逻辑也不同的时候,重写这些方法 模板类 /** * author:lcy * since 2021/6/29 17:33 * 模板,所有的方法在这里被定义,但并不是所有的方法都在这里被实现 */ public abstract class AbstractTemplate { //模板的所有方法 public void templateMethod(){ childMet转载 2021-06-30 17:43:51 · 56 阅读 · 0 评论 -
设计模式-观察者模式
观察者模式的个人简单理解:假如有A类与B类,如果A类发生了变化,则B类也要做出相应的变化,可以在A类中注册B类,在A类做一些业务逻辑后,调用一些方法通知B类。 被观察者的抽象类 /** * author:lcy * since 2021/6/29 17:00 * 被观察者的抽象类,被观察者可以添加观察者,可以通知观察者 */ public abstract class Subject { //观察者的列表 private ArrayList<Observer> obse转载 2021-06-30 17:32:38 · 59 阅读 · 0 评论 -
设计模式-代理模式
代理模式的个人简单理解:当某些类或者方法不能被直接暴露,只能被间接使用的时候,就需要用代理类将这些类或者方法封装起来,让使用者调用代理类,代理类来调用这些不能被直接暴露的类和方法 被代理的类 /** * author:lcy * since 2021/6/29 11:43 * 被代理的类 */ public class ReallyObject extends AbstractObject{ @Override void doSomething() { System转载 2021-06-29 14:10:12 · 54 阅读 · 0 评论 -
设计模式-代理模式(3三种)
代理 代理应该很熟悉了,大白话说就是中介,比如找工作、买房买车等,都可以找找中介,因为这样可以省很多时间; 在java代码中的代理其实很容易,就是用一个代理类将目标类封装起来,我们调用代理类的方法就行了,不需要直接和目标类打交道,画个简单的图:可以看到代理类和目标类的方法名最好要一样,这样的好处就是我们使用代理类就和使用目标类一样;另外,我们可以在代理类的方法中再调用一下其他类的方法,这样做有个什么好处呢?可以实现给目标类扩展新功能而不需要改变目标类的代码(专业一点就叫做解耦合) 在j转载 2021-02-25 09:24:57 · 101 阅读 · 0 评论 -
设计模式-适配器模式
个人对适配器模式的简单理解:假如有个插孔只支持双孔,现在来了一个电器是三孔的,要让这个三孔的电器也能用,就需要一个插盘来适配双孔和三孔。对应的:双孔和三孔就是具体的方法,插盘就是适配器。 适配器分为:类适配器模式 和 对象适配器模式 类适配器模式 原有的“双孔” /** * author:lcy * since 2021/6/29 11:07 * * 现有的接口 */ public class Adaptee { public void sampleOperation1(){转载 2021-06-29 11:31:49 · 60 阅读 · 0 评论 -
设计模式-单例模式
单例模式个人简单理解:不让构造器初始化,只能使用静态方法拿到变量实例 饿汉式 /** * author:lcy * since 2021/6/25 17:29 * 饿汉模式,缺点是如果这个单例比较大,会占内存 */ public class hungrySingleton { //直接定义一个变量 private static hungrySingleton Singleton=new hungrySingleton(); //禁止用构造器,直接私有化 private转载 2021-06-25 17:49:35 · 47 阅读 · 0 评论 -
设计模式-工厂模式
个人对工厂模式的简单理解:简单工厂模式下,可能一个工厂就要生产好几个“具体实现”,当需要的“具体实现”特别多时,一个工厂就会显得高耦合,需要将“具体实现”分别分发给不同的工厂,把一个工厂分成好几个“术业有专攻”的工厂。 各个工厂要有一个统一的生产接口 /** * author:lcy * since 2021/6/25 11:59 * 工厂接口 */ public interface ExportFactory { public ExportFile getFactory(String Fa转载 2021-06-25 14:45:59 · 61 阅读 · 0 评论 -
设计模式-简单工厂模式
简单工厂模式的个人简单理解:如果同一个功能有的不同实现路径,则将这些实现路径封装到“工厂”中,用户需要哪个实现路径,则告诉工厂,工厂接收到信息后,返回给用户具体的实现路径,用户再拿着具体的实现路径执行逻辑。 /** * author:lcy * since 2021/6/24 17:29 * 简单工厂模式 */ public interface Login { public boolean verify(String username,String password); } /** *转载 2021-06-24 18:04:49 · 43 阅读 · 0 评论