【发布时间】:2011-09-12 17:27:03
【问题描述】:
我目前面临一个设计问题,希望得到有关如何解决它的建议:
问题
我将用一个例子来说明我的问题注意这只是一个例子:
假设您有一个名为 Pass 的接口,其中列出了方法:
public interface Pass {
public boolean hasPassedA();
public boolean hasPassedB();
public boolean hasPassedC();
}
假设你有一个类实现了 Assessor 这个接口:
public class Assessor implements Pass{
// how should I implement this class ??
}
最后是学生课:
public class Student {
// some code that defines student behaviour not important.
}
那么问题是如何使 Assessor 和学生对象之间的交互更加灵活?
我注意到 Assessor 对象应该是抽象的,因为实际上没有 Assessor 这样的东西,而是您有不同类型的评估者,例如数学评估者或英语评估者等,而这反过来将允许我创建不同类型的 Assessor 对象,例如
MathAssessor extends Assessor
EnglishAssessor extends Assessor
这个概念是,如果在 Pass 接口中声明的所有方法都返回 true,并且 subjectAssessor 类中的所有其他方法都返回 true,则 Student 可以通过。
我在 Assessor 课上做什么?我读过适配器设计模式,但还没有完全理解这个概念,或者它甚至适用于这种情况吗?
【问题讨论】:
-
Assessor 的方法不应该将
Student对象作为参数吗?还是每个学生都有自己的一群评估员(即每个评估员只有一个学生)? -
好吧,对于这个特定的例子,让我们假设一个评估员评估一个学生,例如Assessor 评估员 = new MathsAssessor(student);
标签: java interface design-patterns