设计模式
文章平均质量分 80
呢喃coding
个人邮箱 : 1425809544@qq.com
手机号 : 13269918057
微信号 : wangzhezhilv0
展开
-
015行为型-职责链模式
责链模式是一种设计模式,其目的是使多个对象能够处理同一请求,但是并不知道下一个处理请求的对象是谁。它能够解耦请求的发送者和接收者之间的直接耦合关系。举个例子,假设你的公司有一个报销流程,需要依次提交给主管、经理和财务部门审核,如果一个人无法审核,那么就需要向下一个人提交审核请求。在这种情况下,职责链模式非常适用。在职责链模式中,每个处理请求的对象都可以尝试处理请求,如果自己无法处理,则将请求传递给下一个对象,直到有一个对象能够处理请求为止。原创 2023-03-24 18:56:43 · 558 阅读 · 0 评论 -
011代理模式
其中,@Before和@AfterReturning是比较简单的通知,它们分别在UserService的方法执行前和执行后被调用,而@Around是比较灵活和强大的通知,它可以在方法执行前、执行后和执行前后都被调用,并且还可以控制方法的执行过程。代理类继承了目标类,同时也包含了目标类的所有方法,代理类重写了目标类的方法,在重写的方法中加入了自己的扩展逻辑。JDK 动态代理是基于接口来实现的,它要求被代理的目标类必须实现接口,代理类实现了与目标类相同的接口,代理类的方法里面调用了目标类的方法。原创 2023-03-24 14:26:28 · 248 阅读 · 0 评论 -
009原型模式
原型模式在java中用到的不多,主要在javascript语言中比较常用。原创 2023-03-21 09:56:06 · 167 阅读 · 0 评论 -
007工厂模式(简单工厂、工厂方法、抽象工厂)
这里简单说一下,比较抽象工厂我们不常使用,比如在代码实例中,规则配置解析,会根据 josn、xml、yaml等分类,创建不同的工厂,但是如果类有2种划分方式,比如我们 按照配置文件格式分类,也按照解析对象是rule配置还是系统配置分类,就会有8种方式,产生类爆炸。工厂方法 在spring、mybatis等源码中基本上都存在 ,项目中也会使用,也是必须掌握的,抽象工厂相对用的比较少,这里就不多说了,感兴趣的可以自行研究。重点是对象的创建是否复杂, 对应创建型的设计模式,主要是用来创建对象的,原创 2023-03-17 15:17:03 · 433 阅读 · 0 评论 -
006单例模式
构造方法私有,避免外部访问创建对象的安全问题考虑是否支持延迟加载考虑 getinstance的性能是否合适。原创 2023-03-16 16:39:47 · 466 阅读 · 0 评论 -
004我们都在基于贫血模型开发项目
ddd更像一个多方面的方法论,涉及团队沟通,需求分析,业务建模,设计,编码,业务根据场景选择性应用,追求极致ddd成本很高,对团队成员的能力要求也很高。那充血模型呢,和ddd(领域驱动设计)有关系,他也是包含三层,不同的是 ,他的service层包含service和domin两部分,domain是基于充血模型开发的,包含数据和业务逻辑,service层反而比较单薄, 轻service 重domian。综上所述,对应中小公司,和大公司中的小团队,最有应用价值的还是基于贫血模型开发的mvc模式。原创 2023-03-15 16:01:40 · 324 阅读 · 0 评论 -
003基于抽象而非实现编程
我们在定义接口的时候,命名要通用, 不能包含和具体实现相关的字眼,和特定实现有关的方法不要放在接口中。AliyunImageStore 这个名字不好,带有 Aliyun ,函数实现不能暴露细节。generateAccessToken 私有云没有token ,这个要修改业务流程,交由Spring容器管理此实现类,如果需要修改,修改此处代码重启即可。这一点 如果替换实现类,还需要修改多处引用代码,可以重构掉。上面例子,如果我们把实现类换成私有云,就不好处理修改了。使用时,需要new具体的实现类,原创 2023-03-14 10:47:34 · 129 阅读 · 0 评论 -
设计模式 创建型 单例模式 原型模式 享元模式
目录一、创建型 单例模式 原型模式 享元模式二、区别三、new一个对象和clone一个对象 一、创建型 单例模式 原型模式 享元模式 单例模式 原型模式 原型模式是通过给出一个原型对象来指明所创建的对象的类型,然后使用自身实现的克隆接口来复制这个原型对象,该模式就是用这种方式来创建出更多同类型的对象。 使用这种方式创建新的对象的话,就无需再通过 new 实例化来创建对象了。这是因为 Object 类的 clone 方法是一个本地方法,它可以直接操作内存中的二进制流,所以性能相对 new 实原创 2020-06-11 14:07:10 · 300 阅读 · 0 评论 -
计划1:代理相关文章
代理设计模式 UML 图理解 静态代理 JDK 实现接口动态代理 CGLIB 实现类动态代理、 参考:菜鸟教程-代理基础知识原创 2019-06-24 13:55:59 · 126 阅读 · 0 评论 -
设计模式之单例模式(1)
单例模式:确保一个类只有一个实例,并提供全局访问点.1 饿汉式(线程安全)package com.oo.singleton;/** * 饿汉式(线程安全) * * @author xyy * @create 2017-06-15 16:25 **/ public class Singleton0 { /** * 在静态初始化的时候创建单件,确保了线程安全 */原创 2017-06-15 17:14:22 · 292 阅读 · 0 评论