设计模式添加新类

时间:2010-12-22 18:06:00

标签: design-patterns

我有两个班,学生和老师,学生有一个具体的方法:takeCourse;老师有一个具体的方法:教学课程。

现在我想添加一个新的GradStudent课程,它可以像学生一样学习课程,也可以像老师一样教授课程。哪种模式是实现这个新类的最简单方法? Adapter,Composite,Delegate ....?

感谢。

1 个答案:

答案 0 :(得分:2)

问题应该是对这种模型进行建模的最佳方式是什么?答案是“它在现实世界中的理解方式”,即格拉德学生也可以教授和选修课程; - )

不要试图将所有内容与设计模式联系起来。坚持我们在学校学到的基本原则“课堂模拟现实世界的对象”,“让模型贴近现实世界”

interface CanTeach
{
void teachCource();
}

class Teacher implements CanTeach {...}

class Student 
{
void takeCourse(...);
}

class GradStudent extends Student implements CanTeach
{
...
}