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