设计模式
Tʀᴜsᴛ³⁴⁵
纸上得来终觉浅,绝知此事要躬行
展开
-
源码阅读 | 动态代理
动态代理在静态代理的基础上提供了在运行时生成代理类的功能。因此相比于静态代理不用自定义代理类了原创 2020-05-27 09:26:06 · 1103 阅读 · 0 评论 -
简单的工厂模式和工厂方法模式
1,简单的工厂模式简单的说就是通过一个工厂类,对接口和类进行统一的管理。我们先通过一个例题来说明一问题。例子:我要买手机。1,定义接口,用来买手机。public interface OnPhone { /** * 要购买的手机. */ void payPhone(); }2,创建各种品牌的手机,实现上面的接口。//小米public class Mi impleme...原创 2019-03-24 18:34:12 · 557 阅读 · 1 评论 -
装饰者模式详
装饰者模式 动态的将责任附加到对象身上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案问题看一个饮料喝调料的问题1,消费者需要一杯咖啡2,消费者提出要求:要加糖3,消费者提出要求:要加两份牛奶这个时候你会用什么方式来解决呢?解决思路1,使用最原始的方法,记住每一种调料的价格和饮料的价格,最后+在一起。如果消费者忽然不要某种饮料呢? 减去相应的价格或者说想要发...原创 2020-01-07 10:19:14 · 1052 阅读 · 0 评论 -
单例模式的简单介绍
单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。特点:单例类只能有一个实例。单例类必须自己创建出这个实例单例类必须给所有其他的对象提供这一个实例要保证单例,需要做以下几步:必许防止外部可以调用构造函数进行实例化,因此构造函数必须被私有化。必须定义一个静态方法 获得该类的对象。使用synchronized进行同步处理,并且双重判断是否为null,如下...原创 2019-01-09 21:07:40 · 241 阅读 · 0 评论 -
观察者模式
认识观察者模式先来看一下报纸和杂志的订阅是怎么回事: 1,报纸的业务是出版报纸 2,向某家报社订阅报纸,只要他们有新报纸出版,就会给你送过来。只要你是他们的订户,你就一直会收到报纸 3,当不在想看报纸的时候,取消订阅,他们就不会给你送新的报纸了。 4,只要报社还在运营,就会一直有人去想他们订阅或者取消订阅报纸如果能理解上面的,那么你已经知道观察者是怎么回事了 只是名字不一样...原创 2020-01-03 21:52:39 · 1057 阅读 · 0 评论