设计模式
文章平均质量分 74
时空恋旅人
坚持不懈的学习态度和坚韧的人生品质
展开
-
设计模式09--适配器模式
目录1.适配器模式定义2.适用场景3.适配器的优点4.适配器的缺点5.类适配器模式类图1.适配器模式定义2.适用场景3.适配器的优点4.适配器的缺点5.类适配器模式类图 新建一个目标对象的接口,必须严格遵循依赖倒置原则和里氏转换原则package com.wx.adapterpattern.base;public interface T...原创 2021-07-27 23:28:21 · 87 阅读 · 0 评论 -
设计模式08--责任链模式
目录1.责任链模式2.类图:1.责任链模式 定义: 适用的场景: 优点: 缺点: 责任链模式相关设计模式: 责任链模式的通用类图: 关键点是Handler这个抽象类中需要包含一个自己类型的对象,和一个设置下一个请求处理者的方法。 ...原创 2020-01-28 16:30:06 · 155 阅读 · 0 评论 -
设计模式07--观察者模式
目录1.观察者模式2. UML类图1.观察者模式 定义: 使用场景: 优点: 缺点: 现在的业务场景是这样的:一个学生在线上学完课程后给课程的老师提了一个问题,那么老师需要接收到那个学生就哪个课程提了什么问题。观察者肯定就是老师,被观察者是课程,而不是问题。2. UML类图...原创 2020-01-27 23:28:35 · 171 阅读 · 0 评论 -
设计模式05--策略模式
1.策略模式 定义: 适用场景: 优点: 缺点: 与策略模式相关的一些模式的区别: 工厂模式接收指令,创建出符合要求的具体对象,而策略模式接受已经创建好的对象,从而实现不同的行为,因为他是行为模式,不属于创建模式。 使用策略模式,客户端必须明确知道具体的状态,状态模式的话客户端是不...原创 2019-12-07 16:21:25 · 128 阅读 · 0 评论 -
设计模式04--抽象工厂
1.抽象工厂 定义: 适用场景: 优点: 缺点: 2.抽象工厂和工厂方法的具体区别 工厂方法模式针对就是产品等级结构,而抽象工厂模式针对的就是产品族。 3.类图 视频与手记一起称为一个产品族,课程工厂负责生产他们,java的视频,python的视频称为产品的等级结构...原创 2019-12-03 22:13:27 · 98 阅读 · 0 评论 -
设计模式03--工厂方法
目录1.工厂方法2.工厂方法的类图1.工厂方法 工厂方法是对简单工厂的一个演进,最重要的是把一个类的实例化延迟到其子类,简单工厂是直接在工厂里实例化的。下面是一个简单工厂的类图: 简单工厂不属于23设计模式,更像是一种编码的风格.下面是工厂模式的通用类图: ...原创 2019-11-24 16:30:36 · 135 阅读 · 0 评论 -
设计模式02--设计原则
目录1.七大原则 2.开闭原则3.依赖倒置原则4.单一职责原则:5.接口隔离原则6.迪米特原则7.里氏替换原则8.合成复用原则1.七大原则 单一职责原则:只有一个原因引起这个类的变化,也就是说他只负责一件事情开闭原则里氏替换原则:就是说在基类出现的地方可以透明的引用子类对象依赖倒...原创 2019-11-24 15:28:15 · 167 阅读 · 0 评论 -
设计模式01--UML
目录1.图的分类2.类图3.时序图1.图的分类 2.类图+:public-:private#:protected~:默认——:静态斜体:表示抽象 箭头指向:子类指向父类,记忆技巧:只有知道...原创 2019-11-23 19:49:52 · 117 阅读 · 0 评论 -
设计模式之禅学习笔记10--模板方法模式
1.模板方法模式 定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 类图: 它的方法分为两类:● 基本方法基本方法也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。● 模板方法可以有...原创 2018-11-27 16:51:23 · 96 阅读 · 0 评论 -
设计模式之禅学习笔记09--代理模式(动态代理)
1.动态代理 动态代理还是属于设计模式--代理模式的一种,代理类在程序运行时创建的代理方式被成为动态代理。动态代理是在实现阶段不用关心代理谁,而在运行阶段才指定代理哪一个对象。相对来说,自己写代理类的方式就是静态代理。现在有一个非常流行的名称叫做面向横切面编程,也就是AOP(Aspect Oriented Programming),其核心就是采用了动态代理机制。 类图: ...原创 2018-11-26 15:16:16 · 146 阅读 · 0 评论 -
设计模式之禅学习笔记08--代理模式
1.代理模式 是一个使用率非常高的模式。代理模式也叫委托模式,他是为其他对象提供一种代理以控制对这个对象的访问 类图:代理主题角色和具体的主题角色具有相同的抽象主题接口 Subject抽象主题角色: 抽象主题类可以是抽象类也可以是接口,是一个最普通的业务类型定义,无特殊要求。 R...原创 2018-11-26 14:35:26 · 146 阅读 · 0 评论 -
设计模式之禅学习笔记05--适配器模式
-----谨以此文表明汪先生学过设计模式1.适配器模式 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 类图: 三个角色: Target目标角色:该角色定义把其他类转换为何种接口,也就是我们的期望接口,例子中的I...原创 2018-11-19 16:50:06 · 128 阅读 · 0 评论 -
设计模式之禅学习笔记07--观察者模式
1.观察者模式 也叫做发布订阅模式(Publish/subscribe),它是一个在项目中经常使用的模式定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 类图: 四个角色: Subject被观察者: 定义被观察者必须实现的职责,它必须能够...原创 2018-11-21 15:16:28 · 98 阅读 · 0 评论 -
设计模式之禅学习笔记06--门面模式
1.门面模式 也叫外观模式,是一种比较常见的封装模式。要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。 类图: 类图太简单了,来个结构图: 门面对象是外界访问子系统内部的唯一通...原创 2018-11-20 14:49:20 · 97 阅读 · 0 评论 -
设计模式之禅学习笔记01--单例模式
-----谨以此文表明汪先生学过设计模式1.单例模式 面向对象的六大原则:https://www.cnblogs.com/qifengshi/p/5709594.html 单一职责原则:只有一个原因引起这个类的变化,也就是说他只负责一件事情 开闭原则:定义的类应该是对扩展是开放的,而对修改时关闭的 里氏替换原则:就是说在基类出现的地方...原创 2018-11-14 16:27:37 · 169 阅读 · 0 评论 -
设计模式之禅学习笔记03--装饰模式
-----谨以此文表明汪先生学过设计模式 1.装饰模式 动态的给一个对象添加一些额外的职责,就增加功能来说装饰模式相比生成子类更为灵活。一个类经过两层以上的继承就需要考虑设计是否出了问题,因为越多的继承类后期的维护成本越多,特别是这些类还有很多相似性的时候。 类图: ...原创 2018-11-15 15:37:53 · 163 阅读 · 0 评论