随笔分类 -  设计模式

摘要:定义:指尽量使用对象组合或对象聚合的方式实现代码复用,而不是用继承关系达到复用代码的目的。合成复用原则可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较小。 继承,又被称为白箱复用,相当于把所有实现细节暴露给子类。组合/聚合又被称为黑箱复用。对类以外的对象是无法获取到实 阅读全文
posted @ 2021-11-21 11:59 田园码民 阅读(134) 评论(0) 推荐(0) 编辑
摘要:定义:里氏替换原则指如果对每一个类型为T1和对象O1,都有类型T2的对象O2,使得以T1定义的所有程序P在所有对象O1都替换成O2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。 里氏替换原则通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添 阅读全文
posted @ 2021-11-18 14:15 田园码民 阅读(64) 评论(0) 推荐(0) 编辑
摘要:迪米特法则又叫最少知道原则,指一个对象应该对其他对象保持最少的了解,尽量降低类与类之间的耦合。迪米特法则主要强调只和朋友交流,不和陌生人说话。出现在成员变量、方法的输入和输出参数中的类都可以被称为成员朋友类,而出现在方法体内部的类不属于朋友类。 我们来给简单设计一个权限系统,TeamLeader需要 阅读全文
posted @ 2021-11-09 21:08 田园码民 阅读(36) 评论(0) 推荐(0) 编辑
摘要:接口隔离原则:指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。这个原则指导我们在设计接口时,应当注意以下几点: (1)一个类对另一个类的依赖应该建立在最小接口上。 (2)建立单一接口,不是建立庞大臃肿的接口。 (3)尽量细化接口,接口中的方法尽量少(不是越少越好,一定要适度 阅读全文
posted @ 2021-11-08 21:14 田园码民 阅读(93) 评论(0) 推荐(0) 编辑
摘要:单一职责:不要存在一个以上导致类变更的原因。 咱们简单的描述一下,假设有一个类负责两个职责,一旦发生需求变更,修改其中一个职责的逻辑代码,有可能会导致另一个职责的功能发生故障,这个类就存在两个导致类变更的原因。 我们来看个例子,我们的课程有直播课和录播课,直播课不能快进和快退,录播课可以任意地反复观 阅读全文
posted @ 2021-11-08 10:26 田园码民 阅读(78) 评论(0) 推荐(0) 编辑
摘要:依赖倒转原则:依赖接口编程,不要依赖实现编程。高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 通过依赖倒置,可以降低类与类之间的耦合性,提高系统的稳定性,提高代码的可读性和维护性,并降低修改程序带来的风险。 下面我们来看一下例子,还是以课程为例: pack 阅读全文
posted @ 2021-11-05 14:47 田园码民 阅读(47) 评论(0) 推荐(0) 编辑
摘要:开闭原则:是指一个软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。所有的开闭,也正是对扩展和修改两个行为的一个原则。 下面我们来看一下例子,我们以课程为例: 定义课程接口:ICourse.java package org.itzn.inter; public interface ICours 阅读全文
posted @ 2021-11-04 15:07 田园码民 阅读(107) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示