设计模式笔记
botkke
这个作者很懒,什么都没留下…
展开
-
设计模式——模板模式
模板模式 1、基本介绍 模板方法模式,又叫模板模式,在一个抽象类公开定义了执行它的方法模板,它的子类可以按照需求重写方法,但调用将以抽象类中定义的方式进行 模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的接口,就可以重定义该算法的某些步骤。 2、代码 public abstract class SoyaMilk { //模板方法,make,模板方法为final,不允许子类覆盖 final void make() { sele原创 2020-11-03 10:35:52 · 173 阅读 · 0 评论 -
设计模式——代理模式
代理模式 1、基本介绍: 为对象提供一个替身——代理对象,通过代理对象来访问目标对象。这样做的好处是,可以在目标对象实现的基础上,增加额外的功能,即扩展目标对象的功能,不需要修改原来的代码。 适用场景:远程对象、创建开销大的对象、需要安全控制的对象 几种形式:静态代理、动态代理、Cglib代理 2、静态代理 1)、介绍: 静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起来实现相同的接口或者是继承相同父类,然后代理对象再聚合被代理对象。 2)、代码 //接口 public interfac原创 2020-11-01 22:45:51 · 62 阅读 · 0 评论 -
设计模式——工厂模式
工厂模式 1、相关概念 产品:类 抽象产品:抽象类、接口 产品簇:多个有内在联系的产品 产品登记 2、简单工厂模式 1)一个反例:违反了面向接口编程 interface Food { void eat(); } class Hamburger implements Food { //当服务器的类名改变时,那么客户端代码也要随之改变,耦合度非常高 @Override public void eat() { System.out.println("吃汉堡!");原创 2020-10-29 10:09:53 · 222 阅读 · 1 评论 -
设计模式之:单例模式
单例模式 一、介绍 所谓类的单例模式,就是采取一定的方法保证在整个软件系统中,对某个类智能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。 二、单例模式的八种方式 1、饿汉式(静态常量) **1)优点:写法简单,在类装载的时候完成了实例化,避免了线程同步问题 ** 2)缺点:如果从始至终不用这个实例,则会造成内存的浪费 3)代码 class Singleton { //1、构造器私有化,外部不能new private Singleton() { } //2、原创 2020-10-27 21:23:44 · 172 阅读 · 1 评论 -
设计模式七大原则
设计模式 七大原则 单一职责原则 接口隔离原则 依赖倒转原则 里氏替换原则 开闭原则 迪米特法则 合成复用原则 一、单一职责原则 基本介绍: 每一个类应该只负责一项职责。 实例: 一个类A负责两个不同的职责,D1和D2,当D1的需求变更而导致类A的改变时,就可能导致D2出错,因此需要将A分为A1+A2。 二、接口隔离原则 基本介绍 一个类不应该依赖他不需要的依赖。 实例: 例如一个接口中有多个方法,而某个类只需要实现其中的某些方法,那么这个接口应该拆分为几个独立的接口。 三、依赖原创 2020-10-24 17:23:55 · 107 阅读 · 0 评论