随笔分类 - 设计模式
摘要:定义: 之类可以扩展父类的功能,但不能改变父类原有的功能。 是实现开闭原则的重要方式之一。 实例: 构建银行系统时,信用卡类不应该继承者储蓄卡类,因为信用卡类破坏了原有的方法。应该在更上层创建抽象基类。
阅读全文
posted @ 2021-08-17 00:40
wenjiajun
摘要:定义: 又称最小知识原则,是值一个对象类对于其他对象类来说,知道得越少越好。也就是说,两个类之家不要有过多得耦合关系,保持最少关联性。 实例: 如果校长想知道一个班级的总分和平均分,应该找具体的班主任老师,不需要找学生统计。
阅读全文
posted @ 2021-08-17 00:26
wenjiajun
摘要:定义: 客户端不应该依赖它不需要的接口。 实例: 王者荣耀中不同英雄的技能不同,应该为每个技能定义自已的技能方法,然后不同英雄实现不同的技能接口。
阅读全文
posted @ 2021-08-17 00:20
wenjiajun
摘要:定义: 不要存在多于一个导致类变更的原因。即一个类/接口/方法只负责一项职责。 实例: 视频网站用户分类,不用用户服务权限不同,不应使用if else等逻辑判断。
阅读全文
posted @ 2021-08-17 00:11
wenjiajun
摘要:在设计代码架构时,高层模块不应该依赖于底层模块,二者都应该依赖于抽象。抽象依赖于细节,细节应该依赖于抽象。 它是实现开闭原则的重要途径之一,降低了类之间的耦合,提高了系统的稳定性和可维护性。 实例: 不同抽奖逻辑不应该用函数单独封装,应该使用抽奖接口,不同抽奖类实现自己的逻辑。
阅读全文
posted @ 2021-08-17 00:02
wenjiajun
摘要:对扩展开放,对修改关闭。 开闭原则的核心思想也可以理解为面向抽象编程。 实例一: 计算不同形状的面积,针对圆形不同精度,需要扩展类。 实例二: 不同课程价格不同,同一课程在不同时期价格不同。
阅读全文
posted @ 2021-08-16 23:49
wenjiajun
摘要:该图来自于《大话设计模式》。 依赖关系:虚线箭头表示,指向被依赖对象。 继承关系:空心三角形+实线表示,子类指向父类。 组合关系:实心菱形+实线箭头表示。 关联关系:实线箭头表示。 聚合关系:空心菱形+实线箭头表示。 实现关系:空心三角形+虚线表示或者棒棒糖表示法。
阅读全文

浙公网安备 33010602011771号