【发布时间】:2016-11-10 19:21:24
【问题描述】:
我想检查我的知识,因为我以不同的方式看到了我公司的一个项目。
我所知道的是,如果我们想在我们的项目中使用 MVC 软件设计模式,我们可以这样分离我们的项目:
View部分是我们的设计UI,在WPF中表示ui.xaml文件,在WinForms中表示ui.designer.cs,在Android中表示ui.xml,在QtQuick中表示ui.qml,在XCode中表示ui.ui。
Controller 部分是连接到具有相似名称的设计器文件的最近源文件。 WPF 中的 ui.xaml.cs 文件,WinForms 中的 ui.cs,Android 中的 ui.java,QtQuick 中的 ui.h/ui.cpp 和 XCode 中的 ui.swift。
Model 部分是执行主要操作的任何其他类。我通常给他们加上后缀Manager(或类似的东西)来说明它的职责是什么。
对于 MVVM,我还使用 interface 或 abstract class 来继承其 View Model 部分的 View,并将我以前的 Controller 视为 View 的一部分。
一个项目足以构建整个项目。
但是我公司的一个项目有很多类!名称为 UserControl 的设计人员的单独库文件夹,名称为 View 的另一个单独库的文件夹,以及名称为 的另一组库>ViewModel,Controller 和 Model 也是如此。他们说它是 MVC 和 MVVM 的混合体。最令人惊讶的一点是,整个软件有38个独立的项目,由一个程序员编写,团队很小。
请告诉我我的知识是否正确?请告诉我我公司的项目是否朝着正确的方向发展?
【问题讨论】:
-
为什么要投反对票?请让我知道以提出更好的问题。
-
我只是在徘徊,你打算如何确定正确答案?
-
@Tengiz 我将根据我分享自己知识的风格确定正确答案。
-
模型不应该管理任何东西,它应该代表一个业务实体。
SomethingManager是一个非常糟糕的名字,特别是对于一个模型,但即使是一般来说也是如此。见Coding Horror 和an old question on SO。
标签: android wpf winforms model-view-controller mvvm