![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
个人对于设计模式的学习笔记,文章当中内容来源于 《Head First 设计模式》 一书。
markfengfeng
这个作者很懒,什么都没留下…
展开
-
单例模式 - Head First设计模式学习
单例模式是比较简单的设计模式。直接给出定义就明白了。 单例模式确保一个类只有一个实例,并提供一个全局访问点 要保证一个类只有一个实例需要做到以下几点: 私有类构造器,防止别的类直接用类构造器实例化实例 既然构造器私有了,那么只有类本身能够实例化。类需要提供一个公开的接口获取实例 类本身需要保证实例的单一 类图如下: 类怎么创建单一的实例,有以下几种办法: 错误的示范 public class...原创 2020-02-29 23:31:40 · 141 阅读 · 0 评论 -
装饰者模式 - Head First设计模式学习(二)
咖啡店因为业务扩张,准备更新自己的订单系统,以合乎他们的饮料供应要求。 原先设计的类是这样的: Beverage(饮料)是一个抽象类,店内提供的饮料都必须继承自此类。 cost()方法是抽象的,子类必须定义自己的实现。通过cost()来返回饮料的价钱。 购买咖啡时,也可以要求在其中加入各种调料,例如 蒸奶(Steam Milk),豆浆(Soy),摩卡(Mocha)等等。 那么如果按照...原创 2020-01-28 17:10:48 · 138 阅读 · 0 评论 -
观察者模式 - Head First设计模式学习(一)
有这么一个需求。 气象站会发布气象监测数据,包括(温度,湿度,气压) 需要开发一个应用,从气象站取得数据,并更新应用的布告板。 布告板有三类,分别是显示当前天气情况,气象统计数据,天气预报。 气象站提供的数据结构如下,很简单,就是温度,湿度,气压的获取,以及气象数据变化时触发的方法。 public class WeatherData { private float temperatur...原创 2020-01-16 22:20:13 · 104 阅读 · 0 评论