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 · 223 阅读 · 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 · 288 阅读 · 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 · 88 阅读 · 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 · 116 阅读 · 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 · 92 阅读 · 0 评论 -
设计模式-简单工厂模式(1)
简单工厂模式 1. 必须知道的知识 具体产品:实现接口的类(如4中的hanbao,mixian) 抽象产品:接口,抽象类(Food) 产品簇: 产品等级: 设计模式中的接口:只要是下层暴露给上层的都叫接口:方法,类,interface 2. 学习设计模式须知2点: 开发代码的程序员,分为作者(服务端),用户(客户端)。如我们使用c3p0时,我们拿着别人写好的数据库连接池的字节码使用,制作c3p0的程序员就是作者,我们就是用户。 我们手头并不会时时刻刻都有作者的源代码,所以我们不能修改源代码,要符合原创 2021-07-06 10:55:02 · 133 阅读 · 0 评论 -
设计模式-7大设计原则
设计模式七大设计原则 设计模式就是一种设计方法,适用于不同场景而已 要学习设计模式,首先要知道7大设计原则 单一职责原则 开闭原则 接口隔离原则 依赖倒置原则 迪米特法则(最少知道原则) 里氏替换原则 组合优于继承原则 1. 单一职责原则 定义:每个方法,类,框架只做一件事。 如:Math.round()只负责四舍五入;Reader类只负责读取文件;SpringMVC只负责简化MVC开发。 2. 开闭原则 定义: 对扩展新功能开放 对修改原功能关闭 不能修改源代码 如:Car类有一原创 2021-07-03 17:37:03 · 254 阅读 · 0 评论
分享