![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
#FJW
这个作者很懒,什么都没留下…
展开
-
设计模式——代理模式
代理模式基本介绍 代理模式:为一个对象提供一个替身,以控制对这个对象的访问,即通过代理对象访问目标对象,这样做的好处:可以在目标实现的基础上,增强额外的功能操作,即扩展目标对象的功能 被代理的对象可以是远程对象、创建开销大的对象或者需要安全控制的对象 代理模式主要有三种:静态代理,动态代理【JDK代理(接口代理)和Cglib代理(可以在内存动态的创建对象,而不需要实现接口) 静态代理 静态代...原创 2020-04-14 09:25:32 · 68 阅读 · 0 评论 -
设计模式——适配器模式
基本介绍 适配器模式(Adaper Pattern)将某个类的接口转化成客户端期望的另一个接口表示,主要的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。 适配器模式属于结构型模式 主要分为三类:类适配器模式、对象适配器模式、接口适配器模式 工作原理 适配器模式:将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容 从用户的角度看不到被适配者,是解耦的 用户调用适配...原创 2020-04-13 15:14:10 · 99 阅读 · 0 评论 -
设计模式——策略模式
基本介绍 策略模式中,定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户; 算法体现了几个设计原则 把变化的代码从不变的代码中分离出来; 针对接口编程而不是具体类(定义了策略接口) 多用组合/聚合,少用继承(客户通过组合方式使用策略) 类图 说明:从上图可以看到,context有成员变量strategy或者其他的策略接口,需要使用到哪个策略,可以在构造器...原创 2020-04-13 10:29:59 · 106 阅读 · 0 评论 -
设计模式——观察者模式
定义 定义对象见的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并且自动更新。 使用场景 一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两个方面封装在独立 的对象中使它们可以各自独立地改变和复用。 一个对象的改变将导致一个或多个其他对象也发生改变,而并不知道具体有多少对象将发生改变,也不知道这些对象是谁。 需要在系统中创建一个触发链,A对象的行为将影响...原创 2020-04-12 18:29:29 · 100 阅读 · 0 评论 -
设计模式——工厂模式
概述 工厂设计模式是一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到灵活性的目的。 工厂模式一共三类 简单工厂模式 工厂方法模式 抽象工厂模式 简单工厂模式 把创建Pizza对象封装到一个类中,这样我们有新的Pizza...原创 2020-04-12 17:12:52 · 110 阅读 · 0 评论 -
设计模式七大原则
单一职责原理: 基本介绍:对类来说的,一个类只负责一项职责 注意事项和细节: 1、降低类的复杂度,一个类只负责一项原则 2、提高了类的可读性,可维护性 3、降低更换引起的风险 4、只有逻辑足够简单,才可以在代码上违反单一职责原则;只有类中的方法足够少,可以在方法级别保持单一职责原则 接口隔离原则 基本介绍:客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在...原创 2020-04-12 13:41:24 · 100 阅读 · 0 评论 -
单例模式
单例设计模式 即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。 单例模式特点: 单例类只能有一个实例:构造器私有化 单例类必须自己创建自己的唯一实例:含有一个该类的静态变量来保存这个唯一的实例 单例类必须给所有其他对象提供这一对象实例:对外提供获取该实例对象的方式①直接暴露②用静态变量的get方法获取。 单例模式常见的形式有: 懒汉式单例,饿汉式单例。 (1)饿汉式:直接创建对象...原创 2019-11-23 15:17:57 · 92 阅读 · 0 评论