设计模式
设计模式学习笔记
风萧水丶寒
Stay hungry Stay foolish
展开
-
浅尝设计模式——如何使用单件模式
本文为阅读《Head First 设计模式》一书的摘要总结单件模式定义单件模式 确保一个类只有一个实例,并提供一个全局访问点。示例public class Singleton{ private static Singleton uniqueInstance; private Singletion(){ uniqueInstance = new Singleton(); ...原创 2020-05-04 10:41:00 · 207 阅读 · 0 评论 -
浅尝设计模式——如何使用工厂模式
本文为阅读《Head First 设计模式》一书的摘要总结工厂模式简单工厂定义简单工厂并不是一个设计模式,反而比较像一种编程习惯。该习惯将代码中,实例化对象的部分封装起来,独立于客户。使得客户代码满足 关闭-开放原则。示例Pizza orderPizza(String type){ Pizza pizza; if (type.equals("cheese")){ pizza...原创 2020-05-03 12:07:18 · 153 阅读 · 0 评论 -
浅尝设计模式——如何使用装饰者模式
本文为阅读《Head First 设计模式》一书的摘要总结装饰者模式定义装饰者模式 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。类图:装饰者和被装饰者都是组件,都有相同的超类型。每个装饰者都有一个组件(对Component对象的引用),该组件属于被包装对象。包装者中可以添加新的行为,这些行为可以通过在旧行为之前或之后做一些计算来添加的。装饰者...原创 2020-05-02 10:46:26 · 152 阅读 · 0 评论 -
浅尝设计模式——如何使用观察者模式
本文为阅读《Head First 设计模式》一书的摘要总结观察者模式概念定义观察者 模式定义了对象之间的 一对多 依赖,这样一来,当一个对象改变状态时,它的所有依赖都会受到通知并自动更新。类图松耦合观察者模式提供了一种对象设计,让主题和观察者之间松耦合。主题唯一依赖的东西是一个实现Observer接口的 对象列表。当有新类型的观察者出现是,不需要改变主题代码,我们只需要新类型...原创 2020-04-30 16:26:03 · 260 阅读 · 0 评论 -
浅尝设计模式——如何使用策略模式
本文为阅读《Head First 设计模式》一书的摘要总结策略模式概念策略模式定义了 算法族(一组行为),分别封装起来,让他们之间可以相互替换,此模式让算法的变化 独立于 使用算法的客户。Demo现在我们要加入一个橡皮鸭RubberDuck,若是直接继承Duck类,那么RubberDuck将具有同其他两个类相同的fly和quack的行为,但事实上RubberDuck不应该有这两个行...原创 2020-04-29 12:06:35 · 172 阅读 · 0 评论