
设计模式
瑞雨
这个作者很懒,什么都没留下…
展开
-
设计模式之模板方法模式
一、什么是模板模式模板模式通过一个抽象类来定义需要实现的框架,通过一系列的抽象方法,将方法延迟到子类去实现。相当于对一个程序建立一套模板,子类可以根据自身需要,按照模板的要求进行功能上的填充和扩展。二、案例1.如果我们想炒一道菜,可以用抽象类定义好一系列的模板方法,如加盐–>爆炒–>上菜:abstract class Cook{ abstract void name(); //定义炒菜的模板方法 abstract void salt(); a原创 2020-09-09 21:37:30 · 203 阅读 · 0 评论 -
设计模式之代理模式
一、什么是代理模式? 代理模式给一个对象提供一个代理对象,并由代理对象控制对原对象的访问。 类比生活,代理相当于我们常说的中介。假设这么一种情境,如果我想租房,直接找到房东来租房是很不方便的,我们一般选择通过房屋中介来进行租房。在这里房东相当于是被代理的对象,而房屋中介就相当于代理。二、有哪些代理模式? 代理模式可以分为两类:静态代理:由程序员通过代码自己创建代理类,在程序运行之前,代理类的字节码文件就已经被创建了,即代理类在程序运行之前就已经确定了。动态代理:动态代理可以在程序运原创 2020-09-01 21:22:22 · 133 阅读 · 0 评论 -
设计模式之装饰者模式
在Java面向对象思想中,有一个重要的开闭原则,即类应该对扩展开放,对修改关闭,扩展就是添加新功能的意思,因此该原则要求在添加新功能时不需要修改代码。而符合开闭原则最典型的设计模式就是装饰者模式。一、什么是装饰者模式?装饰者模式可以在不改变代码结构的前提下,对已有的对象添加新的功能。如果不考虑装饰者模式,我们要扩展一个类,可以使用继承的方式来实现,通过对扩展类添加子类,在子类中对扩展类的方法进行补充。通过这种继承的方式进行扩展有一个弊端,随着扩展功能的增多,子类的数量会增多。所以采用装饰者模式来替代继原创 2020-08-25 12:03:41 · 278 阅读 · 0 评论 -
设计模式之工厂模式
一、什么是工厂模式?工厂模式是最常用的设计模式之一,它提供了一种创建对象的最佳方式,可以实现对象创建者和调用者的解耦。二、工厂模式的三种类型1.简单工厂模式 定义:定义一个工厂类,根据传入的参数不同返回不同的实例,被创建的实例具有共同的父类或接口。 案例:假设有这么一种情况,如果我需要买一辆车,可选择的有宝马和奥迪两类。首先我们实现一个 Car 的接口,接口声明一个name方法:public interface Car { void name();} 写一个奥迪类和宝马原创 2020-08-18 22:27:16 · 164 阅读 · 0 评论 -
单例模式之饿汉式与懒汉式
一、什么是单例模式单例模式是Java中最简单的设计模式之一,在单例模式中,保证一个类只能有唯一的一个实例对象。意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。关键代码:构造函数是私有的。二、饿汉模式public class Singleton { private static Singleton instance原创 2020-08-09 21:10:56 · 204 阅读 · 0 评论