![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
zhongfangguiyishi
这个作者很懒,什么都没留下…
展开
-
代理模式
一、定义代理模式是为其他对象提供一种代理以控制这个对象的访问,一般是不想直接访问某个对象或无法访问到时,可以通过一个代理对象间接访问。二、实现代理模式有两种:静态代理和动态代理,我们先来看下静态代理。这里我们以代驾为例,正常情况下我们可以自己开车,但喝了酒的情况下,就得找一个代驾了,否则将面临罚款扣分和吊销驾照等处罚。不管是自己开车或叫代驾,两者做的事情本质都相同,那就是开车。所以我们可以先定义委托对象与代理对象需要实现相同的接口。/** * 抽象主题类 */public i原创 2020-11-08 17:41:05 · 143 阅读 · 0 评论 -
装饰模式
一、定义装饰模式是动态的扩展对象的功能,它是继承关系的另一种替代方案,比继承更加灵活。二、实现这里以人穿衣服为例,首先抽象出一个Person类,它有一个dressed()方法。/** * 抽象组件类(Component) */public abstract class Person { //抽象方法 public abstract void dressed();}接着定义一个Person的具体实现类XiaoMing,同时重写了dressed()方法。/*原创 2020-11-07 17:03:56 · 104 阅读 · 0 评论 -
观察者模式
一、定义观察者模式是对象间一种一对多的依赖关系,当一个对象状态改变,所有依赖它的对象都会被通知。二、实现这里会用两种方式实现观察者模式,一种是自定义接口,另一种是使用Java已实现的接口,两种实现本质是一样的。1、自定义接口被观察者抽象类public class Subject { //定义一个观察者数组 private Vector<Observer> vector = new Vector<>(); //增加观察者 p原创 2020-10-29 07:48:14 · 1745 阅读 · 1 评论 -
单例模式
一、概述单例模式是在开发中经常使用到的设计模式,它能保证在JVM中只有一个实例存在。下面来看几种单例模式的写法。二、饿汉模式 //饿汉模式 private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; }原创 2020-10-21 08:33:27 · 93 阅读 · 0 评论 -
工厂模式
一、概念简单工厂模式属于创建型模式,又叫做静态方法模式,简单工厂模式是由一个工厂对象决定创建哪一种产品类的实例。二、用途如何去实例化一个合适的对象。三、核心有一个专门的类来负责创建实例的过程。四、原理1、抽象产品(Product)角色简单工厂模式所创建的所有对象的父类,定义所有实例对象的公共接口。2、具体产品(Concrete Product)原创 2016-08-02 12:01:39 · 280 阅读 · 0 评论