
设计模式
子夕听雨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《深入浅出设计模式》 笔记第三章 装饰者模式
《深入浅出设计模式》 笔记第三章 装饰者模式 有这么一个需求:咖啡厅做饮料。饮料分基础饮料(浓缩咖啡、普通咖啡等等)和调味饮料(果汁、豆浆等)。现要求建立一个系统,计算饮料的价格和饮料的描述,成品饮料会在基础饮料的上搭配调味饮料。 第一次尝试 很明显,这种实现很烂。 第二次尝试 该次尝试将调味饮料放在了超类的属性(布尔值)中,每加入一种调味饮料,就需要添加一个属性和Get、Set方法。 但这种尝试违反了开放-关闭原则。 开放-关闭原则 设计原则:类应该对扩展开放,对修改关闭。 在选择需要被扩展的代码部原创 2020-08-02 19:22:47 · 226 阅读 · 0 评论 -
《深入浅出设计模式》笔记第二章 观察者模式
《深入浅出设计模式》笔记第二章 观察者模式 概况 需要建立一个应用如下: WeatherData类: 错误示范: public class WeatherData { public void measureementsChanged() { float temp = getTemperature(); float humidity = getHumidity(); float pressure = getPressure();原创 2020-07-30 21:49:29 · 212 阅读 · 0 评论 -
《深入浅出设计模式》笔记第一章 策略模式
《深入浅出设计模式》笔记第一章 设计一个有各种各样鸭子的系统: 第一版 继承 类图: 加入了一个需求,需要让鸭子飞,修改类图如下: 但,并不是所有的鸭子都会飞,比如橡胶鸭子。并且,橡胶鸭子是“吱吱”叫的(假设),而不是一般鸭子的“呱呱”叫,这样,就需要重写父类的quack方法。 利用接口如何? 这个设计很不好。没有实现代码复用,对于每个实现两个接口的类,都需要实现对应接口的方法,万一需要更改方法的实现会非常麻烦。 软件开发的一个不变的真理就是变化。不管当初软件设计得多好,一段时间后,总是需要成长与改变原创 2020-07-27 22:43:22 · 281 阅读 · 0 评论 -
代理模式及Spring AOP
代理模式及Spring AOP 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 Subject:定义RealSubject和Proxy 的共用接口 RealSubject:定义Proxy所代理的实体 Proxy:保存一个指向真实实体的引用,并提供和真实实体相同的接口 Java实现: package com.lbl.pojo; public interface ...原创 2020-03-29 22:57:40 · 133 阅读 · 0 评论