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