摘要: 定义 定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新 类型 行为型 适用场景 关联行为场景,建立一套触发机制 观察者模式-优点 观察者和被观察者之间建立一个抽象的耦合 观察者模式支持广播通信 观察者模式缺点 观察者 阅读全文
posted @ 2020-04-18 21:09 叫熊猫啊 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 代理模式 定义与类型 定义:为其他对象提供一种代理,以控制对这个对象的访问 代理对象在客户端和目标对象之间起到中介的作用 类型:结构形 适用场景 (1) 保护目标对象 (2) 增强目标对象 代理-优点 代理模式能将代理对象与真实被调用的目标对象分离 在一定程度上降低了系统的耦合度,扩展性好 保护目标 阅读全文
posted @ 2020-04-08 17:16 叫熊猫啊 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 定义 将一个复杂对象的构建与它的表示进行分离,使得同样的构建过程可以创建不同的表示 特征 用户只需指定需要建造的类型就可以得到他们,建造过程及细节不需要知道 类型 创建型 适用场景 如果一个对象有非常复杂的内部结构(很多属性) 想把复杂对象的创建和使用分离 优点 封装性好,创建和使用分离 阅读全文
posted @ 2020-03-28 22:30 叫熊猫啊 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 开闭原则 定义 一个软件实体如类,模块和函数应该对扩展开放,对修改关闭 用抽象架构框架,用实现扩展细节 优点 提高软件系统的可复用性以及可维护性 例子 定义一个课程接口 public interface ICourse { Integer getId(); String getName(); Dou 阅读全文
posted @ 2020-03-26 18:51 叫熊猫啊 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式 定义 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。 类型 创建型 适用场景 创建对象需要大量重复的代码 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 一个类通过其子类来指定创建哪个对象 优点 用户只需要关心所需产品对 阅读全文
posted @ 2020-03-25 21:14 叫熊猫啊 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 迪米特法则 定义 一个对象应该对其他对象保持最少的了解,又叫最少知道原则 尽量降低类与类之间的耦合 优点 降低类之间的耦合 强调 只和朋友交流,不和陌生人说话 朋友 出现在成员变量、方法的输入、输出参数中的类称为成员朋友类,而出现在方法体内部的类是不属于朋友类的 实例 假如有一家教育机构,有Boss 阅读全文
posted @ 2020-03-25 21:13 叫熊猫啊 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 依赖倒置原则 定义 高层模块不应该依赖底层模块,二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 针对接口编程,不要针对实现编程 优点 可以减少类之间的耦合性、提高系统稳定性、提高代码可读性和可维护性,可降低修改程序所造成的风险 实例 有一个小朋友Geely他是个程序员他喜欢写代码,他目前 阅读全文
posted @ 2020-03-21 19:22 叫熊猫啊 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 定义 尽量使用对象组合/聚合,而不是继承关系达到软件复用的目的 聚合是has-A 的关系,组合是Contains-A的关系 优点 可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化,对其他类造成的的影响相对较少。 缺点 通过这种方式建造的系统会有较多的对象需要管理,也就是说A对象里边可能还有B 阅读全文
posted @ 2020-03-21 19:16 叫熊猫啊 阅读(180) 评论(0) 推荐(0) 编辑
摘要: UML类图 Class Diagram:用于表示类、接口、实例等之间相互的静态关系 虽然名字叫类图,但是类图中并不是只有类 记忆技巧 UML箭头方向,从子类指向父类。 定义子类时需要通过extends关键字指定父类 子类一定是知道父类定义的,但是父类并不知道子类的定义 只有知道对方信息时才能指向对方 阅读全文
posted @ 2020-03-17 00:16 叫熊猫啊 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 通常认为,一个易于维护的系统,就是复用率较高的系统;而一个复用性较好的系统,就是一个易于维护的系统。但是实际上,可维护性和可复用性是两个独立的目标,就像两只奔跑的兔子一样,并不总是方向一致的。 对于面向对象的软件系统设计来说,在支持可维护性的同时,提高系统的可复用性是一个核心的问题。 一、软件系统的 阅读全文
posted @ 2020-03-14 22:11 叫熊猫啊 阅读(364) 评论(0) 推荐(0) 编辑