![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Caché 设计模式
yaoxin521123
创造价值,分享学习,一起成长,相伴前行。
展开
-
Caché 23种设计模式
Caché 23种设计模式前章 Caché 程序员必须知道的七大原则第一章 Caché 设计模式 简单工厂模式第二章 Caché 设计模式 策略模式第三章 Caché 设计模式 装饰者模式第四章 Caché 设计模式 代理模式第五章 Caché 设计模式 工厂方法第六章 Caché 设计模式 原型模式第七章 Caché 设计模式 模版方法模式第八章 Caché 设计模式 外观模式...原创 2020-05-04 09:59:17 · 3969 阅读 · 0 评论 -
前章 Caché 程序员必须知道的七大原则
文章目录单一职责原则定义判断反例正例开放-封闭原则定义现实应对依赖颠倒原则定义举例里氏替换原则定义迪米特法则定义接口隔离原则定义缺点合成/聚合复用原则有点示例初识UML类图单一职责原则定义就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发...原创 2020-05-04 09:29:25 · 1548 阅读 · 0 评论 -
第二十四章 Caché 设计模式 访问者模式
文章目录第二十四章 Caché 设计模式 访问者模式定义使用场景目的优点缺点结构图描述完整示例状态抽象类人抽象类具体状态类具体人类对象结构类调用思考第二十四章 Caché 设计模式 访问者模式定义表示一个作用域某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。使用场景被访问者不变根据访问者和被访问者的不同,两两对应达到不同的目的。遍历被...原创 2020-05-03 08:22:49 · 918 阅读 · 0 评论 -
第二十三章 Caché 设计模式 解释器模式
文章目录第二十三章 Caché 设计模式 解释器模式定义使用场景优点缺点结构图描述完整示例抽象解释器上下文终结符表达式非终结符表达式调用思考第二十三章 Caché 设计模式 解释器模式定义给定一个语义,语义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。使用场景如果一种特性类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言...原创 2020-05-02 07:52:47 · 665 阅读 · 0 评论 -
第二十二章 Caché 设计模式 享元模式
文章目录第二十二章 Caché 设计模式 享元模式定义优点使用场景结构图描述完整示例实体类抽象享元角色实现享元角色享元工厂调用思考第二十二章 Caché 设计模式 享元模式定义运用共享技术有效地支持大量细粒度的对象。优点享元模式可以避免大量非常相似类的开销,在程序设计中,有时需要生成大量细粒度的类实例来表示数据。如果能发现这些实例除了几个参数外基本上相同的,有时就能够大幅度地减少需要...原创 2020-05-01 08:57:19 · 702 阅读 · 0 评论 -
第二十一章 Caché 设计模式 中介者模式
文章目录第二十一章 Caché 设计模式 中介者模式定义优点使用场景结构图描述完整示例抽象类具体类抽象中介类具体中介类调用思考第二十一章 Caché 设计模式 中介者模式定义用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变他们之前的交互。优点中介者模式就是把网状复杂结构优化为一对多结构。起到协调作用。MVP架构里面P层...原创 2020-04-30 08:39:05 · 699 阅读 · 0 评论 -
第二十章 Caché 设计模式 职责链模式
文章目录第二十章 Caché 设计模式 职责链模式定义优点缺点结构图描述完整示例请求类抽象责任类实现责任类调用思考第二十章 Caché 设计模式 职责链模式定义使多个对象都有机会处理请求,从而避免请求发送者与接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。优点请求者和处理者关系解耦,提高代码灵活性。当客户提交一个请求时,请求是沿着链传...原创 2020-04-29 08:10:06 · 935 阅读 · 0 评论 -
第十九章 Caché 设计模式 命令模式
文章目录第十九章 Caché 设计模式 命令模式定义优点缺点作用结构图描述完整示例烧烤者抽象命令具体命令服务员调用思考第十九章 Caché 设计模式 命令模式定义命令模式将每个请求封装成一个对象,从而让用户使用不同的请求把客户端参数化;将请求进行排队或者记录请求日志,以及支持可撤销操作。优点行为请求和行为实现弱耦合,易扩展,修改,维护。把请求一个操作的对象与知道怎么执行一个操作的...原创 2020-04-28 08:33:03 · 638 阅读 · 0 评论 -
第十八章 Caché 设计模式 桥接模式
文章目录第十八章 Caché 设计模式 桥接模式定义优点结构图描述完整示例手机软件抽象类游戏,通讯录具体类抽象手机品牌类手机品牌具体类调用思考第十八章 Caché 设计模式 桥接模式定义将抽象部分与它的实现部分分离,使它们都可以独立地变化。优点两个维度,独立变化。灵活的扩展,透明实现。桥接模式将抽象部分和实现部分分离,解耦。结构图描述有苹果和三星手机,都可以实现通讯录...原创 2020-04-27 09:04:49 · 732 阅读 · 0 评论 -
第十七章 Caché 设计模式 单例模式
文章目录第十七章 Caché 设计模式 单例模式定义使用场景结构图完整示例双重锁定调用思考第十七章 Caché 设计模式 单例模式定义保证一个类仅有一个实例,并提供一个访问它的全局访问点。我们让一个全局变量使得一个对象访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。使用场景...原创 2020-04-26 08:00:43 · 770 阅读 · 1 评论 -
第十六章 Caché 设计模式 迭代器模式
文章目录第十六章 Caché 设计模式 迭代器模式定义使用场景结构图完整示例定义迭代器接口实现迭代器接口定义容器接口实现容器接口调用思考第十六章 Caché 设计模式 迭代器模式定义提供一种方法顺序访问个聚合对象中各个元素,而又不暴露该对象的内部表示。使用场景提供一个list的遍历方法。目的很明确,弱化遍历算法和容器之间的关系。根据传入的list额外提供一个遍历方法。当需要对聚...原创 2020-04-25 07:39:42 · 774 阅读 · 0 评论 -
第十五章 Caché 设计模式 组合模式
文章目录第十五章 Caché 设计模式 组合模式定义使用场景优点缺点结构图思考完整示例抽象类具体类树枝节点树叶节点调用思考第十五章 Caché 设计模式 组合模式定义将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。使用场景需求中是体现部分与整体层次的结构时,可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就...原创 2020-04-24 08:26:13 · 688 阅读 · 0 评论 -
第十四章 Caché 设计模式 备忘录模式
文章目录第十四章 Caché 设计模式 备忘录模式定义使用场景结构图描述完整示例角色类储存类管理类调用思考第十四章 Caché 设计模式 备忘录模式定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象回复到原先保存的状态。使用场景备忘录模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部...原创 2020-04-23 08:48:59 · 1134 阅读 · 0 评论 -
第十三章 Caché 设计模式 适配器模式
文章目录第十三章 Caché 设计模式 适配器模式定义使用场景优点缺点结构图描述完整实例抽象接口具体实现接口被适配类适配器调用思考第十三章 Caché 设计模式 适配器模式定义将一个类的接口转换成客户希望另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。使用场景系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的...原创 2020-04-22 08:24:39 · 760 阅读 · 0 评论 -
第十二章 Caché 设计模式 状态模式
文章目录第十二章 Caché 设计模式 状态模式定义目的优点使用场景与策略模式区别结构图描述初级写法完整示例抽象状态类上下文类具体状态类调用思考第十二章 Caché 设计模式 状态模式定义当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。目的状态模式主要解决当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中。可以把...原创 2020-04-21 08:19:23 · 794 阅读 · 0 评论 -
第十一章 Caché 设计模式 抽象工厂模式
文章目录第十一章 Caché 设计模式 抽象工厂模式定义优点结构图描述完整示例实体类抽象产品类具体产品类UserDepartment抽象工厂类思考第十一章 Caché 设计模式 抽象工厂模式定义提供一个创建一系列相关或相互依赖的接口,而无需制定它们具体的类。优点相比与简单工厂,没有违背开放封闭原则。可直接创建产品即可。结构图描述连接数据库SQL和Caché并且每个数据库...原创 2020-04-20 09:15:41 · 827 阅读 · 0 评论 -
第十章 Caché 设计模式 观察者模式
文章目录第十章 Caché 设计模式 观察者模式定义使用目的使用场景优点缺点结构图描述完整实例抽象观察者具体观察者抽象被观察者具体被观察者调用第十章 Caché 设计模式 观察者模式定义定义对象间一种一对多的依赖关系,每当一个对象改变状态时,则所有依赖与它的对象都会得到通知并被自动更新。使用目的将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相关对象间的一致性。...原创 2020-04-19 08:08:47 · 787 阅读 · 1 评论 -
第九章 Caché 设计模式 建造者模式
文章目录 第九章 Caché 设计模式 建造者模式定义优点缺点使用场景结构图完整示例产品类抽象建造者类具体建造者类指挥者类调用思考 第九章 Caché 设计模式 建造者模式定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。优点使用建造者模式可以使客户端不必知道产品内部组成的细节。具体的建造者类之间是相互独立的,容易拓展。由于具体的建造者是独立的,因此...原创 2020-04-18 08:45:13 · 638 阅读 · 1 评论 -
第八章 Caché 设计模式 外观模式
文章目录 第八章 Caché 设计模式 外观模式定义优点缺点使用场景何时使用外观模式结构图完整示例子系统类外观类调用思考 第八章 Caché 设计模式 外观模式定义为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。优点减少系统的相互依赖,所以的依赖都是对外观类的依赖,与子系统无关。对用户隐藏了子系统的具体实现,减少用户对子系统的耦合,...原创 2020-04-17 08:17:53 · 640 阅读 · 1 评论 -
第七章 Caché 设计模式 模版方法模式
文章目录 第七章 Caché 设计模式 模版方法模式定义使用场景优点缺点特点结构图描述完整示例创建抽象类,定义完整框架具体实现类调用思考 第七章 Caché 设计模式 模版方法模式定义定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变一个算法的结构即可重定义算法的某些特定步骤。使用场景多个子类有共有的方法,并且逻辑基本相同时。面对重要,复杂的算法,可以把核心算法设...原创 2020-04-16 08:46:02 · 625 阅读 · 0 评论 -
第六章 Caché 设计模式 原型模式
文章目录第六章 Caché 设计模式 原型模式定义使用场景优点结构图描述示例初级写法缺点中级写法缺点高级写法 (浅复制)浅复制深复制完整示例简历类(复制类)对象类(工作经验类)调用思考第六章 Caché 设计模式 原型模式定义用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。使用场景...原创 2020-04-15 09:19:49 · 756 阅读 · 1 评论 -
第五章 Caché 设计模式 工厂方法
文章目录 第五章 Caché 设计模式 工厂方法完整示例结构图抽象对象类实例对象类抽象工厂类实例工厂类调用思考 第五章 Caché 设计模式 工厂方法工厂方法模式实现,客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题还是存在的,也就是说,工厂方法把简单工厂的内部逻辑判断移到了客户端来进行,你想加功能,本来是改工厂类,现在是修改客户端。完整示例结构图抽象对象类Class ...原创 2020-04-14 08:30:25 · 735 阅读 · 1 评论 -
第四章 Caché 设计模式 代理模式
文章目录第四章 Caché 设计模式 代理模式 定义类型使用场景优点缺点结构图完整示例抽象主题类真实主题类代理类对象类调用思考第四章 Caché 设计模式 代理模式 定义为其他对象提供一种代理以控制对这个对象的访问。类型静态代理动态代理(实现的同学联系我)使用场景远程代理 为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在与不同地址空间的事实。虚拟代理 根...原创 2020-04-13 09:27:32 · 1018 阅读 · 1 评论 -
第三章 Caché 设计模式 装饰者模式
文章目录第三章 Caché 设计模式 装饰者模式 定义使用场景优点缺点结构图完整示例描述组件具体实现类抽象装饰者装饰者具体实现类调用思考第三章 Caché 设计模式 装饰者模式 定义装饰者模式是动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。使用场景在不影响其他对象的情况下,以动态,透明的方式给单个对象添加职责。需要动态地给一个对象增加功能,这...原创 2020-04-12 10:24:28 · 1037 阅读 · 1 评论 -
第二章 Caché 设计模式 策略模式
文章目录第二章 Caché 设计模式 策略模式 定义使用场景优点缺点简单工厂模式与策略模式的区别结构图完整示例描述定义策略接口具体策略实现上下文策略调用输出思考第二章 Caché 设计模式 策略模式 定义策略模式是一种定义一系列算法的方法,从概念上来看,所有这些类算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。使用场...原创 2020-04-11 08:26:22 · 994 阅读 · 0 评论 -
第一章 Caché 设计模式 简单工厂模式
文章目录第一章 Caché 设计模式 简单工厂模式定义使用场景优点缺点示例结构图完整示例注意调用输出工厂类运算类加法类减法类乘法类除法类指数类思考第一章 Caché 设计模式 简单工厂模式定义简单工厂模式属于创建型模式,又可称为静态工厂模式,这是由一个工厂对象决定创建出哪一种产品类的实例。使用场景工厂类负责创建的对象比较少。客户只需知道传入工厂类的参数,而无须关心创建对象的逻...原创 2020-04-10 09:29:24 · 1703 阅读 · 5 评论