摘要: 行为型模式一共有11种: 模板方法模式(Template Method) 策略模式(Strategy) 命令模式(Command) 中介者模式(Mediator) 观察者模式(Observer) 迭代器模式(Iteratior) 访问者模式(Visiter) 责任链模式(Chain of Respo 阅读全文
posted @ 2020-04-18 17:37 YTTerrellL 阅读(208) 评论(0) 推荐(0)
摘要: Java代码 interface ConvertorCreator { public Convertor getConvertor(); } interface Convertor { public String transform(); } class DBConvertorCreator imp 阅读全文
posted @ 2020-04-18 12:27 YTTerrellL 阅读(251) 评论(0) 推荐(0)
摘要: 1. 什么是结构模式设计模式中有三种模式,分别是:创建型模式,结构型模式,行为模式。 1.1三种模式的区别创建型模式:创建对象的模式,抽象了实例化的过程。 结构型模式:解决怎么组装现有的类,设计他们的交互,从而达到实现一定的功能。 行为模式:描述了对象和类的模式,以及它们间的通信模式。 1.2 结构 阅读全文
posted @ 2020-04-08 17:25 YTTerrellL 阅读(178) 评论(0) 推荐(0)
摘要: 意图:定义了一个创建对象的接口,但由子类决定要实例化哪个类。工厂方法把实例化操作推迟到子类。 工厂方法和简单工厂的区别:简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。相当于是一个工厂中有各种产品,这样工厂的职责较重,而且当产品类 阅读全文
posted @ 2020-03-28 16:10 YTTerrellL 阅读(113) 评论(0) 推荐(0)
摘要: PPT如下: 参考链接:https://www.jianshu.com/p/d36da4f136c4 https://www.cnblogs.com/hujingnb/p/10171527.html 视频:https://www.bilibili.com/video/BV1ez411B7FK/ 阅读全文
posted @ 2020-03-26 17:47 YTTerrellL 阅读(142) 评论(0) 推荐(0)
摘要: 一、什么是迪卡特法则 迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。英文简写为: LoD. 迪米特法则的意义在 阅读全文
posted @ 2020-03-25 21:59 YTTerrellL 阅读(315) 评论(0) 推荐(0)
摘要: 一、 依赖倒置的含义 依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。 上层模块不应该依赖底层模块,它们都应该依赖于抽象。 抽象不应该依赖于 阅读全文
posted @ 2020-03-21 21:23 YTTerrellL 阅读(610) 评论(0) 推荐(0)
摘要: 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP).组合和聚合都是对象建模中关联(Association)关系的一种.聚合表示整体与部分的关系,表示“含有”,整体由部分组合而成,部分可以脱离整体作为一个独立的个体存在。组合则是一种更强的聚合,部分组 阅读全文
posted @ 2020-03-21 19:24 YTTerrellL 阅读(187) 评论(0) 推荐(0)
摘要: 1. 依赖关系 执行某个动作的时候. 需要xxx来帮助你完成这个操作. 此时的关系是最轻的. 随时可以更换另外一个东西来完成此操作 class Person: def play(self, tools): # 通过参数的传递把另外一个类的对象传递进来 tools.run() print("很开心, 阅读全文
posted @ 2020-03-17 17:28 YTTerrellL 阅读(112) 评论(0) 推荐(0)
摘要: 一、 一个好的系统设计在于他有好的可复用性和较高的维护性。而导致一个软件可维护性较低,随着性能要求变化而腐化的原因有四个: 1.过于僵硬(Rigidity):很难在系统中加入新功能。因为会波及其它模块,最后会变成跨越几个模块的大改动。 2.过于脆弱(Fragility):与过于僵硬同时存在。对一个地 阅读全文
posted @ 2020-03-14 22:41 YTTerrellL 阅读(409) 评论(0) 推荐(0)