设计模式
文章平均质量分 90
常用的几种设计模式
Mr YiRan
星光不问赶路人,时间不负有心人,前程似锦,未来可期!
展开
-
设计模式之责任链模式
在阅读OkHttp源码的过程中,我发现他在处理拦截器的过程中非常巧妙,结合了责任链模式,将Request以链路的方式传递下去,再将Response以方向链路传递上去。随着业务的发展,首页的弹窗越来越多,隐私政策弹窗,广告弹窗,好评弹窗,应用内更新弹窗等等。具体流程如上图所以,Chain作为链条,驱动着Request请求的开始,同时也是最终拿到Response的对象。能很清楚的看到每个链中对象的执行过程,按照顺序依次进入对象的执行过程,最后再反向将Response传递上去。请出我们的主角:责任链模式。原创 2024-04-01 10:11:34 · 1209 阅读 · 0 评论 -
设计模式之责任链模式
3、JAVA WEB 中 Apache Tomcat 对 Encoding 的处理,Struts2 的拦截器,jsp servlet 的 Filter。:责任链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和处理者解耦了。:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。2、在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。原创 2023-05-25 10:29:52 · 754 阅读 · 0 评论 -
设计模式之原型模式
1、实现克隆操作,在 JAVA 实现 Cloneable 接口,重写 clone(),在 .NET 中可以使用 Object 类的 MemberwiseClone() 方法来实现对象的浅拷贝或通过序列化的方式来实现深拷贝。: 1、配备克隆方法需要对类的功能进行通盘考虑,这对于全新的类不是很难,但对于已有的类不一定很容易,特别当一个类引用不支持串行化的间接对象,或者引用含有循环结构的时候。:与通过对一个类进行实例化来构造新对象不同的是,原型模式是通过拷贝一个现有对象生成新对象的。2、逃避构造函数的约束。原创 2023-05-18 20:01:47 · 445 阅读 · 0 评论 -
设计模式之工厂模式
工作了,为了参加一些聚会,肯定有两套或多套衣服吧,比如说有商务装(成套,一系列具体产品)、时尚装(成套,一系列具体产品),甚至对于一个家庭来说,可能有商务女装、商务男装、时尚女装、时尚男装,这些也都是成套的,即一系列具体产品。用 OOP 的思想去理解,所有的衣柜(具体工厂)都是衣柜类的(抽象工厂)某一个,而每一件成套的衣服又包括具体的上衣(某一具体产品),裤子(某一具体产品),这些具体的上衣其实也都是上衣(抽象产品),具体的裤子也都是裤子(另一个抽象产品)。屏蔽产品的具体实现,调用者只关心产品的接口。原创 2023-05-17 22:42:47 · 549 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式的定义与特点建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。该模式的主要优点如下:封装性好,构建和表示分离。扩展性好,各个具体的建造者相互独立,有利于系统的解耦。客户端不必知道产品内部组成的细节,建造者可以对创建过程逐步细化,而不对其它模块产生任何影响,便于控原创 2022-10-28 16:23:21 · 1011 阅读 · 0 评论 -
设计模式之代理模式(静态代理和动态代理)
设计模式之代理模式(静态代理和动态代理)原创 2022-07-24 16:57:41 · 195 阅读 · 0 评论 -
设计模式之单例模式
设计模式之单例模式原创 2022-07-20 22:52:35 · 197 阅读 · 0 评论