随笔分类 -  设计模式

摘要:定义: 之类可以扩展父类的功能,但不能改变父类原有的功能。 是实现开闭原则的重要方式之一。 实例: 构建银行系统时,信用卡类不应该继承者储蓄卡类,因为信用卡类破坏了原有的方法。应该在更上层创建抽象基类。 阅读全文
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
摘要:该图来自于《大话设计模式》。 依赖关系:虚线箭头表示,指向被依赖对象。 继承关系:空心三角形+实线表示,子类指向父类。 组合关系:实心菱形+实线箭头表示。 关联关系:实线箭头表示。 聚合关系:空心菱形+实线箭头表示。 实现关系:空心三角形+虚线表示或者棒棒糖表示法。 阅读全文
posted @ 2021-05-27 00:28 wenjiajun 阅读(74) 评论(0) 推荐(0)
摘要:深入浅出系列之设计模式。 阅读全文
posted @ 2021-05-26 22:58 wenjiajun 阅读(40) 评论(0) 推荐(0)