
Java设计模式
文章平均质量分 86
_小马快跑_
代码说,欢迎点赞、关注。感谢!
展开
-
Java设计模式之责任链模式
文章目录概述使用举例责任链模式在Android中的使用View事件传递OkHttp优缺点参考概述责任链模式是一种处理请求的模式,该模式会把多个处理器添加到一个处理器数组(或者通过链表串成一条链),从而使得多个处理器都有机会处理请求。如果当前处理器成功处理请求,会直接返回结果,否则会把当前请求传递给下一个处理器。当你想要让一个以上的处理器有机会能够处理某个请求的时候,就使用责任链模式。(Chain of Responsibility Pattern) — 引自Head FirstClient:客户原创 2021-02-19 01:36:19 · 242 阅读 · 0 评论 -
Java设计模式之工厂模式
文章目录写在前面举个例子简单工厂模式工厂模式抽象工厂模式写在前面当我们需要初始化对象时,通常需要关键字new来初始化一个新对象,很方便,但同时也有缺点,那就是强耦合性,当这个对象有改变时,对象所在类也要跟着改变。根据设计规则,我们要对扩展开放,对改变关闭,怎么屏蔽改变呢,可以通过工厂模式找出变化的地方,把他们从不变的部分分离出去。举个例子奶茶店里能生产红茶和奶茶,我们需要哪个就会给我们制作哪个,如下:public interface IDrink { void drink();}p原创 2021-01-12 23:43:12 · 175 阅读 · 0 评论 -
Java设计模式之代理模式
文章目录什么是代理模式类图静态代理动态代理装饰者模式 VS 代理模式什么是代理模式代理模式是为另一个对象提供一个替身或占位符以控制对这个对象的访问。关键词:提供替身或占位符目的:控制对目标对象的访问类图Subject: 定义RealSubject的行为,同时Proxy为了保持和RealSubject行为一致,也要实现该接口。RealSubject:被代理对象,即最终真正要执行的对象。Proxy: 持有Subjcet的引用,并负责创建RealSubject对象。代理Proxy持有原创 2021-01-12 23:21:01 · 154 阅读 · 0 评论 -
Java设计模式之观察者模式
文章目录什么是观察者模式参与角色实例系统内置观察者什么是观察者模式用报纸订阅的方式来说明:1、报社的业务就是出版报纸2、向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的订户,就会一直收到报纸3、当你不想再看报纸的时候,取消订阅,他们就不会再送来新报纸4、只要报社还在运营,就会一直有人向他们订阅报纸或者取消订阅报纸观察者模式的流程跟报纸订阅方式一致,即:观察者模式=出版者+订阅者,只是名称不一样,出版者改称为“主题”(Subject),订阅者改称为“观察者”(Observe原创 2021-01-12 00:40:34 · 137 阅读 · 0 评论 -
Java设计模式之装饰者模式(Decorator pattern)
装饰者模式: 动态的给对象添加一些额外的属性或行为。相比于使用继承,装饰者模式更加灵活。UML图: 一般来说装饰者模式有下面几个参与者: - Component:装饰者和被装饰者共同的父类,是一个接口或者抽象类,用来定义基本行为 - ConcreteComponent:定义具体对象,即被装饰者 - Decorator:抽象装饰者,继承自Component,从外类来扩展ConcreteCom原创 2017-04-17 10:00:53 · 456 阅读 · 0 评论 -
Java设计模式之单例模式(Singleton Pattern)
单例模式:用来创造独一无二的,只能有一个实例的对象设计模式。单例模式确保一个类只有一个实例,并提供一个全局访问点。相比于全局变量(对对象的静态引用),单例模式可以延迟实例化,而且全局变量不能保证只有一个实例。UML图:如何保证只有一个实例呢?我们可以构造器的修饰符变为private,这样外部类就不能通过new来获取实例了,还记得修饰符对应的作用域吗?看下图:确定了构造器为private之后,接着再定原创 2017-04-23 20:29:50 · 421 阅读 · 0 评论 -
Java设计模式之策略模式
定义策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响客户端的情况下发生变化。UML图环境(Context)角色:持有一个Strategy的引用,最终给客户端调用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。具体策略(Con原创 2017-09-25 11:47:22 · 319 阅读 · 0 评论