快捷搜索:  汽车  科技

uml结构图讲解(概述耦合UML)

uml结构图讲解(概述耦合UML)public interface IGoodStudent { //学习成绩优秀 void goodGrades(); //品德优秀 void goodMoralCharacter(); //良好形象 void goodLooks(); } 复制代码好学生 IGoodStudent 接口的实现类 GoodStudentImpl好学生 IGoodStudent 接口还是通过一个例子来展开:现在有一个 “好学生的接口和实现类”,还有一个老师的抽象类和其子类,老师能做的,就是去找到好的学生​

补充:大家可能看过 “羊呼吸空气,鱼呼吸水” 的例子,这里我不做演示,做一个说明,有时候,在类简单的情况下,也可以在代码或者方法级别上违背单一职责原则,因为即使一定的修改有一定开销,但是几乎可以忽略不计了,不过一般情况,我们还是要遵循单一职责原则

(五) 接口隔离原则

定义:

  • 客户端不应该被迫依赖于它不使用的方法
  • 或者——客户端不应该被迫依赖于它不使用的方法

其实这一原则的核心就是 “拆” ,如果在一个接口内存放过多的方法等内容,就会十分臃肿,竟可能的细化接口,也就是为每个类创建专用接口,毕竟依赖多个专用接口,比依赖一个综合接口更加灵活方便,同时,接口作为对外的一个 “入口”,拆散,隔离接口能够缩小外来因素导致的问题扩散范围

还是通过一个例子来展开:

现在有一个 “好学生的接口和实现类”,还有一个老师的抽象类和其子类,老师能做的,就是去找到好的学生

uml结构图讲解(概述耦合UML)(1)

uml结构图讲解(概述耦合UML)(2)

好学生 IGoodStudent 接口

public interface IGoodStudent { //学习成绩优秀 void goodGrades(); //品德优秀 void goodMoralCharacter(); //良好形象 void goodLooks(); } 复制代码

uml结构图讲解(概述耦合UML)(3)

好学生 IGoodStudent 接口的实现类 GoodStudentImpl

public class GoodStudentImpl implements IGoodStudent { private String name; public GoodStudentImpl(String name) { this.name = name; } @Override public void goodGrades() { System.out.println("【" this.name "】的学习成绩优秀"); } @Override public void goodMoralCharacter() { System.out.println("【" this.name "】的品德优良"); } @Override public void goodLooks() { System.out.println("【" this.name "】的形象良好"); } } 复制代码

uml结构图讲解(概述耦合UML)(4)

老师抽象类 AbstractTeacher

public abstract class AbstractTeacher { protected IGoodStudent goodStudent; public AbstractTeacher(IGoodStudent goodStudent) { this.goodStudent = goodStudent; } public abstract void findGoodStudent(); } 复制代码

uml结构图讲解(概述耦合UML)(5)

猜您喜欢: