uml结构图讲解(概述耦合UML)
uml结构图讲解(概述耦合UML)一下子看来是没什么问题的,不过由于每个人的主观意识形态不同,或许每个人对于 “好学生” 的定义并不同,就例如就我个人而言,我认识为 “师者,传道授业解惑也” ,学生能学习其为人处世的道理与主动学习更是难能可贵,至于外貌更属于无稽之谈。针对不同人的不同不同定义,这个 IGoodStudent 接口就显得有一些庞大且不合时宜了,所以我们根据接口隔离原则,将 “好学生” 的定义进行一定的拆分隔离学习的学生接口
老师类 Teacher
public class Teacher extends AbstractTeacher {
public Teacher(IGoodStudent goodStudent) {
super(goodStudent);
}
@Override
public void findGoodStudent() {
super.goodStudent.goodGrades();
super.goodStudent.goodMoralCharacter();
super.goodStudent.goodLooks();
}
}
复制代码
测试类 Test
public class Test {
public static void main(String[] args) {
IGoodStudent goodStudent = new GoodStudentImpl("阿文");
AbstractTeacher teacher = new Teacher(goodStudent);
teacher.findGoodStudent();
}
}
复制代码
运行结果:
【阿文】的学习成绩优秀 【阿文】的品德优良 【阿文】的形象良好
一下子看来是没什么问题的,不过由于每个人的主观意识形态不同,或许每个人对于 “好学生” 的定义并不同,就例如就我个人而言,我认识为 “师者,传道授业解惑也” ,学生能学习其为人处世的道理与主动学习更是难能可贵,至于外貌更属于无稽之谈。针对不同人的不同不同定义,这个 IGoodStudent 接口就显得有一些庞大且不合时宜了,所以我们根据接口隔离原则,将 “好学生” 的定义进行一定的拆分隔离
学习的学生接口
public interface IGoodGradesStudent {
//学习成绩优秀
void goodGrades();
}
复制代码