首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WPF C#与适当的体系结构

WPF C#与适当的体系结构
EN

Stack Overflow用户
提问于 2018-10-18 04:04:01
回答 1查看 194关注 0票数 0

我一直在尝试实现我认为是学校、班级和学生的非常基本的OOP实现。

在本例中,我使用的是一所学校,它包含一组独特的班级,每个班级都包含一组独特的学生(每个学校只有一个名为Jack/Amber/ List<>的学生,每个学生只上一节课)。

这很容易实现。当我试图制作一个可编辑的WPF时,我的担忧来了。

我想创建一个WPF,它允许用户创建班级和学生,修改有关它们的数据,以及删除它们。我的问题是,我不知道它应该在层次结构中的什么位置。

我不知道是否每个班级和学生都应该控制他们自己的弹出窗口来编辑他们的对象,或者是否应该有一个控制器来管理从学校到学校的一切(就像over kill一样)。

代码语言:javascript
复制
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 */
    }
}

我处理这个问题的方式正确吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-18 06:36:01

你没有给我们足够的信息,关于你打算完整地评论什么,但你的代码表明你的方法肯定有问题。

SchoolStudent这样的类应该而不是具有任何编辑、弹出窗口(我假设你指的是详细信息窗口)等知识。模型类应该只包含与类本身特别相关的数据(如公共变量和私有变量)和行为(方法)。例如,如果Class类具有学生列表的公共属性,则可以添加一个返回选修该课程的学生数量的方法。尽管这个例子有点无意义,但它证明了类的行为应该只是与模型相关的行为。

相比之下,编辑数据的方法(如弹出窗口)特定于使用该类的应用程序。你不想让全班同学知道这件事。

希望这能有所帮助。

顺便说一句,在你的代码上有一些小的注释...

  • 一般的标准是类名和公共方法/属性使用CamelCase,例如SchoolStudent等。大写是非标准的,应该是avoided
  • Class is a
    • CamelCase不是一个好的类名选择,因为它是一个保留字(小写),可能会引起混淆。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52862783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档