uml结构图讲解(概述耦合UML)
uml结构图讲解(概述耦合UML)public interface IGoodStudent { //学习成绩优秀 void goodGrades(); //品德优秀 void goodMoralCharacter(); //良好形象 void goodLooks(); } 复制代码好学生 IGoodStudent 接口的实现类 GoodStudentImpl好学生 IGoodStudent 接口还是通过一个例子来展开:现在有一个 “好学生的接口和实现类”,还有一个老师的抽象类和其子类,老师能做的,就是去找到好的学生
补充:大家可能看过 “羊呼吸空气,鱼呼吸水” 的例子,这里我不做演示,做一个说明,有时候,在类简单的情况下,也可以在代码或者方法级别上违背单一职责原则,因为即使一定的修改有一定开销,但是几乎可以忽略不计了,不过一般情况,我们还是要遵循单一职责原则
(五) 接口隔离原则定义:
- 客户端不应该被迫依赖于它不使用的方法
- 或者——客户端不应该被迫依赖于它不使用的方法
其实这一原则的核心就是 “拆” ,如果在一个接口内存放过多的方法等内容,就会十分臃肿,竟可能的细化接口,也就是为每个类创建专用接口,毕竟依赖多个专用接口,比依赖一个综合接口更加灵活方便,同时,接口作为对外的一个 “入口”,拆散,隔离接口能够缩小外来因素导致的问题扩散范围
还是通过一个例子来展开:
现在有一个 “好学生的接口和实现类”,还有一个老师的抽象类和其子类,老师能做的,就是去找到好的学生
好学生 IGoodStudent 接口
public interface IGoodStudent {
//学习成绩优秀
void goodGrades();
//品德优秀
void goodMoralCharacter();
//良好形象
void goodLooks();
}
复制代码
好学生 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 "】的形象良好");
}
}
复制代码
老师抽象类 AbstractTeacher
public abstract class AbstractTeacher {
protected IGoodStudent goodStudent;
public AbstractTeacher(IGoodStudent goodStudent) {
this.goodStudent = goodStudent;
}
public abstract void findGoodStudent();
}
复制代码