我一直在尝试实现我认为是学校、班级和学生的非常基本的OOP实现。
在本例中,我使用的是一所学校,它包含一组独特的班级,每个班级都包含一组独特的学生(每个学校只有一个名为Jack/Amber/ List<>的学生,每个学生只上一节课)。
这很容易实现。当我试图制作一个可编辑的WPF时,我的担忧来了。
我想创建一个WPF,它允许用户创建班级和学生,修改有关它们的数据,以及删除它们。我的问题是,我不知道它应该在层次结构中的什么位置。
我不知道是否每个班级和学生都应该控制他们自己的弹出窗口来编辑他们的对象,或者是否应该有一个控制器来管理从学校到学校的一切(就像over kill一样)。
Static class SCHOOL()
{
List<CLASS> classes = new List<CLASS>();
}
public class CLASS()
{
List<STUDENT> classes = new List<STUDNET>();
}
public class STUDENT()
{
public STUDNET()
{
/* Open POP-UP which gives the user the
ability to set the name, gpa, etc... of the student */
}
public void modifyData()
{
/* Open POP-UP which gives the user
the ability to set the name, gpa, etc... of the student */
}
}
我处理这个问题的方式正确吗?
发布于 2018-10-18 06:36:01
你没有给我们足够的信息,关于你打算完整地评论什么,但你的代码表明你的方法肯定有问题。
像School
和Student
这样的类应该而不是具有任何编辑、弹出窗口(我假设你指的是详细信息窗口)等知识。模型类应该只包含与类本身特别相关的数据(如公共变量和私有变量)和行为(方法)。例如,如果Class
类具有学生列表的公共属性,则可以添加一个返回选修该课程的学生数量的方法。尽管这个例子有点无意义,但它证明了类的行为应该只是与模型相关的行为。
相比之下,编辑数据的方法(如弹出窗口)特定于使用该类的应用程序。你不想让全班同学知道这件事。
希望这能有所帮助。
顺便说一句,在你的代码上有一些小的注释...
School
,Student
等。大写是非标准的,应该是avoidedClass
is ahttps://stackoverflow.com/questions/52862783
复制相似问题