![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
lamdaxu
微信公众号:【lamdaxu】,欢迎大家关注
展开
-
观察者模式
观察者模式又称为发布订阅模式 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新 观察者模式中有四个角色,我们来分析一下这四个角色 Subject:抽象主题,他把所有的观察者对象保存在了一个集合里,可以有任意数量的观察者,抽象主题提供一个接口,可以增加和删除观察者对象 ConcreteSubject:具体主题,该角色将有关状态存入具体观察者对象,在具体主题的内部状态发生改变时,给所有的注册过的观察者发送通知 Observer:抽象观察者,是观察者的抽象原创 2020-10-06 10:16:56 · 215 阅读 · 0 评论 -
单例模式
为什么要使用单例模式? 单例模式是用来保证这个在运行期间只会被创建一个类实例,提供一个全局唯一访问这个类实例的访问点,getInstance方法。单例模式的本质:控制实例数目 一般来说,单例模式的实现方式有五种,分别是 懒汉式 饿汉式 双重检测锁 静态内部类 枚举 实现单例模式的步骤也比较固定: 1、私有化构造器 2、类的内部创建对象 3、向外部暴露一个静态的公共方法 1、懒汉式 public class Singleton{ private static Singleton instance;原创 2020-10-05 20:11:07 · 113 阅读 · 0 评论 -
代理模式
何为代理模式? 代理模式是通过创建一个代理对象,用这个代理对象去代表真实的对象,客户端得到这个代理对象这个,对客户端并没有什么影响,就像得到真实的对象来使用 代理分为静态代理和动态代理,我们先来看看静态代理,来一个租房的案例 静态代理的角色分析: 抽象角色:一般用接口或者抽象类来扮演 真实角色:被代理的角色 代理角色:代理真实角色,一般会添加一些附属操作 客户:访问代理对象 //抽象的角色 public interface Rent{ void rent(); } //真实角色 publi原创 2020-10-05 19:01:21 · 63 阅读 · 0 评论 -
简单工厂、工厂方法、抽象工厂模式比较
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 一、简单工厂模式 简单工厂的本质是:选择实现 重点在选择,实现是已经做好了的,不需要在简单工厂里面实现。简单工厂的目的在于为客户端来选择相应的实现,从而使客户端和实现之间解耦。这样一来如果具体的实现发生了变化,就不用变动客户端了 使用传统方式创建一辆车 //原创 2020-10-04 10:16:30 · 138 阅读 · 0 评论 -
设计模式七大原则
1、单一职责原则 1.1 什么是单一职责原则 简单来讲,对于类来说,一个类应该只负责一项职责。如果类A负责两个不同的职责:职责1和职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1和A2。 举例说明:一个交通工具类,他启动的方式有多种,可以天上飞,可以水里游,可以地上跑。可是一般来说,一个交通工具他启动的方式只有一种(排除特殊的交通工具),那么这个时候,我们就要将这个交通工具类进行拆解成具体的工具 1.2 代码演示 方式一: class Vehicle{ pu原创 2020-10-03 20:46:12 · 137 阅读 · 0 评论