![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
赵一凡
这个作者很懒,什么都没留下…
展开
-
设计模式-装饰器
装饰者模式动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 用一个咖啡的例子来展示,一杯咖啡里面往往可以加入很多的调理(装饰者)1.设计两个抽象类,一个是饮料类,还有一个是调料类/* * 饮料类 */public abstract class Beverage { String description="unknow beverage"; ...原创 2018-03-29 18:46:42 · 165 阅读 · 1 评论 -
设计模式-单例
单例模式,保证了对于某个类,仅仅只有一个实例。1.非枚举方式/* * 此种创建单例的方式会被多线程所干扰,因此如果在多线程环境下,考虑以下方法 * 1.给getInstance()加上synchronized,但会大大降低效率 * 2.用Singleton2的方式 * 3.用双重检查加锁,检查实例是否被创建,若未创建,才同步。 */public class Singleton1 { ...原创 2018-03-30 10:24:01 · 110 阅读 · 0 评论 -
设计模式-观察者
来自《headfirst设计模式》观察者模式定义了对象之间的一对多的依赖关系,这样一来,当一个对象改变状态的时候,它的所有依赖者(观察者)都会收到通知并自动更新。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。主题只知道观察者实现了某个接口,不知道具体的观察者是谁。因为主题唯一依赖的东西就是Obeserver接口的对象列表。有新类型的观察者出现时,主题的代码不需要修改,它仅仅需要发送通知给...原创 2018-03-29 15:48:34 · 139 阅读 · 0 评论