![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
呆某人
这个作者很懒,什么都没留下…
展开
-
二十三种设计模式之代理模式
开始工作也已经有一年了,最近一直在学习设计模式,现将所学记录一下,方便日后查阅。 我近期学习的设计模式是代理模式,所以先写这个。 代理模式介绍: 代理模式有静态代理、动态代理(其中动态代理有jdk动态代理和cglib动态代理)。 定义: 提供一个对象来对目标对象进行代理,用代理对象来替代目标对象从而达到对目标对象的控制和隐藏。 为什么使用代理模式: 开闭原则:使用代理模式生成代...原创 2018-07-22 10:10:39 · 936 阅读 · 1 评论 -
二十三种设计模式之单例模式
在日常开发过程中,有一些对象其实我们只需要一个,比如说:线程池、缓存、注册表、日志对象等。事实上,这些对象只能存在一个实例,如果同时存在多个实例的话,就会导致很多问题产生,例如:程序的行为异常、资源使用过量,或者是不一致的结果。 一般我们实例化一个对象的时候,会调用到该类的构造方法,当我们没有显式的定义构造函数,那么类会默认帮我们生成一个空的公共的构造函数,以便外界可以随时实例化该类。但当我们想...原创 2018-08-10 15:26:22 · 1210 阅读 · 0 评论 -
二十三种设计模式之装饰者模式
装饰者模式定义: 区别于继承的用于增强对象功能的动态可扩展的设计模式。 什么时候可以使用装饰者模式? 举个栗子,现在咖啡厅想要对外提供几种饮品,黑咖啡和浓咖啡,另外i还会提供一些调料。这时候他们需要计算出不同组合的饮品和调料的价格是多少。 面对这种问题,我们可能会用常用的继承思想来进行实现,首先定义一个饮料基类,拥有抽象cost方法来计算总费用,定...原创 2018-08-06 22:58:12 · 798 阅读 · 0 评论 -
二十三种设计模式之观察者模式
观察者模式定义: 一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。 什么时候可以使用观察者模式? 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。 当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之你不希望这些对象是紧密耦合...原创 2018-07-22 20:30:18 · 713 阅读 · 0 评论 -
二十三种设计模式之适配器模式
适配器是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的转接设备等。 比如我买的超极本没有传统网口,只有一个typeC接口,就必须从网上买一个转换器,它能将两个接口完全不同的物体连接起来。 而平常我们开发的时候可能也会遇到这种情况,老旧接口需要进行改造,以适应新的接口规则,但是...原创 2018-08-12 12:01:15 · 281 阅读 · 0 评论 -
二十三种设计模式之外观模式
外观模式是我在工作之中首次用到的一种设计模式,当时我正在接入公司内部的用户体系,将每一个需要调用的用户接口都封装成了一个独立的方法,在我封装好之后准备使用的时候发现这些接口是有调用顺序的,而且我并不希望像这种调用顺序内部细节被暴露出来,因为我只想调用一个简单的接口,传入一个令牌,然后得到自己的用户实体类,将复杂的调用隐藏起来,降低复杂度。 于是我想起来我之前学过的外观模式,它会将一个或者数个类的...原创 2018-08-12 13:52:23 · 346 阅读 · 0 评论 -
二十三种设计模式之工厂模式
什么是工厂模式? 工厂模式是我们最常用的实例化对象设计模式,是用工厂模式代替new操作的一种模式。 工厂模式有什么用? 你有没有遇到过这样的情况,要在运行时通过一些必要的条件来判断实例化哪个对象,当看到这样的代码,一旦有新需求需要变化或者扩展,就必须重新对这段代码进行检查和修改。这违背了我们设计模式中的开闭原则,通常这样修改过的代码将造成部分系统更难维护和更新,而且也更容易犯错。 这时...原创 2018-08-28 16:48:34 · 402 阅读 · 0 评论 -
二十三种设计模式之模板方法模式
本章源码基于JDK1.7 模板方法模式的主要设计思想是定义一个算法框架,允许用子类重写或者其它方式对算法框架内的某个步骤的具体实现进行修改。 本章内容已冲泡咖啡和茶作为例子讲解,咖啡和茶叶作为饮料的一种有共通之处,首先烧水、然后冲泡咖啡或茶叶,最后将冲泡后的咖啡或茶叶水倒进杯子中。 我们可以将烧水行为和将饮料倒进杯子行为抽象出来,但是冲泡咖啡还是茶叶的话就必须要具体的去处理。 下面为...原创 2019-10-03 15:14:54 · 300 阅读 · 0 评论