Play With 设计模式
文章平均质量分 70
设计模式笔记
是杏花微雨
这个作者很懒,什么都没留下…
展开
-
设计模式-装饰器模式(6)
装饰器模式1. 实例业务场景:星巴克卖咖啡,一开始,只有四种咖啡:Decaf,Espresso,DrakRoast,HouseBlend。因为所有咖啡都有共性,所以可以继承自一个父类,Beverage。// 0. 业务// 星巴克卖咖啡,一开始,只有四种咖啡:Decaf,Espresso,DrakRoast,HouseBlend。// 因为所有咖啡都有共性,所以可以继承自一个父类,Beverage(饮料)。// 1. 咖啡父类abstract class Beverage{ p原创 2021-07-27 16:11:03 · 109 阅读 · 0 评论 -
设计模式-建造者模式(5)
建造者模式1. 实例定义一个电脑类,实例化电脑类对象,以及给对象的属性赋值// 定义一个电脑类,实例化电脑类对象,以及给对象的属性赋值class Computer{ private String cpu; private String gpu; private String memory; private String hard; public String getCpu() { return cpu; } publ原创 2021-07-12 15:42:17 · 194 阅读 · 0 评论 -
设计模式-原型模式(4)
原型模式为什么需要原型模式实例使用原型模式解决上面问题:必须让目标类实现cloneable接口,该接口中没有任何抽象方法。这样的接口仅仅是一个“标记接口”,作用是告诉jvm,任何实现该接口的对象可以被clone。必须重写java.lang.Object的clone方法,一定要把该方法的访问修饰符重写为public!!不然无法调用clone方法。import java.util.Date;class WeekReport implements Cloneable原创 2021-07-09 18:18:57 · 44 阅读 · 0 评论 -
设计模式-抽象工厂模式(3)
抽象工厂适用:多产品等级。工厂方法适用单一产品等级。1. 实例// 服务端// 抽象产品interface Food{ public void eat();}interface Drink{ public void drink();}// 具体产品class hanbao implements Food{ @Override public void eat(){ System.out.println("吃汉堡"); }}原创 2021-07-06 18:08:47 · 78 阅读 · 3 评论 -
设计模式-工厂方法模式(2)
工厂方法模式1. 实例// 服务端 ===============================================// 抽象产品interface Food{ void eat();}// 具体产品class hanbao implements Food{ @Override public void eat(){ System.out.println("chi han bao"); }}class mixian imp原创 2021-07-06 13:53:23 · 56 阅读 · 0 评论 -
设计模式-简单工厂模式(1)
简单工厂模式1. 必须知道的知识具体产品:实现接口的类(如4中的hanbao,mixian)抽象产品:接口,抽象类(Food)产品簇:产品等级:设计模式中的接口:只要是下层暴露给上层的都叫接口:方法,类,interface2. 学习设计模式须知2点:开发代码的程序员,分为作者(服务端),用户(客户端)。如我们使用c3p0时,我们拿着别人写好的数据库连接池的字节码使用,制作c3p0的程序员就是作者,我们就是用户。我们手头并不会时时刻刻都有作者的源代码,所以我们不能修改源代码,要符合原创 2021-07-06 10:55:02 · 87 阅读 · 0 评论 -
设计模式-7大设计原则
设计模式七大设计原则设计模式就是一种设计方法,适用于不同场景而已要学习设计模式,首先要知道7大设计原则单一职责原则开闭原则接口隔离原则依赖倒置原则迪米特法则(最少知道原则)里氏替换原则组合优于继承原则1. 单一职责原则定义:每个方法,类,框架只做一件事。如:Math.round()只负责四舍五入;Reader类只负责读取文件;SpringMVC只负责简化MVC开发。2. 开闭原则定义:对扩展新功能开放对修改原功能关闭不能修改源代码如:Car类有一原创 2021-07-03 17:37:03 · 204 阅读 · 0 评论