我有一个带GUI的Server应用程序。用c#编写。 现在我想将MVC模式用于整个Application。
通常你有1个模型,1个控制器,也许有n个视图。好的,我有一件事,但我不确定模型。
我的情况: 有1个服务器状态,可以在线/离线,具有客户端计数等。 这可能是我的“ServerModel”。我将通过我的网络库处理网络连接,并创建学生对象(如果已连接)。这一切都发生在这里。 如果有新学生并且为新学生显示GUI元素(通过控制器),将注意到该视图。现在我的视图中有一个与特殊学生相关的动作,并且控制器会收到通知“StudentChanged”并获得已更改的学生。
问题: 控制器现在可以直接更改学生或告诉ServerModel如何更改学生。 第一种看起来第二种方法似乎过头了,但保持MVC设计清晰。 我想直接从控制器改变学生。但我不确定这种违反MVC(学生不是模型而是模型的一部分)是否会在以后的开发或整个代码的灵活性方面带来任何缺点。
来自汉堡的问候;)
答案 0 :(得分:1)
Controller应收集用户想要更改的有关学生的信息,并将其移交给View。
您可能希望使用command pattern捆绑更改学生所需的操作。
例如
答案 1 :(得分:0)
经验法则:保持模型简单,让控制器完成其工作。