c# - 模型去哪里了?

标签 c# winforms model-view-controller mvp

我有一个 VS 解决方案,包含以下项目。

-GUI
-数据访问
-业务逻辑
-BusinessObjects

但是主模型类应该驻留在哪里?这通常是一组对象的缓存,这些对象是数据访问层和 GUI 使用虚拟网格查看模型内部数据的结果。使用 MVC 或 MVP 问题是一样的

想法?

最佳答案

这是一个主观问题,但通常为了强制模型对象不直接依赖于基础设施,人们经常将它们放在单独的项目中。您还需要考虑哪些其他项目可能会使用这些模型对象。

将功能拆分为单独的可部署单元(程序集)的另一个选项是使团队可以更加独立地运作。根据部署频率和团队自主权来分隔项目。

最后,我看到了一些项目,其中模型对象被远程调用(例如使用 .NET 远程处理)并在与 Web 服务器分开的应用程序服务器上提供服务。我真的不推荐这种方法,但它是一种选择。

如果您不打算重用它们,并且您认识到将它们放在同一个程序集中允许您可以与该项目中定义的任何其他内容创建交叉依赖关系,但是你足够聪明,不会这样做,你可以将它们全部放在同一个项目中。

也就是说,99% 的时间我都有这些项目:

  • 用户界面
  • 核心
  • 坚持
  • 测试

但是您仍然必须考虑您的项目需求。

关于c# - 模型去哪里了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/293915/

相关文章:

c# - WinForms 数据绑定(bind)到自定义属性引发异常

.net - .NET 中的 "Computer is not a member of My"错误

ajax - MVC Ajax 更新面板

python - 如何删除 django 中级联的一对一关联模型?

c# - 当 driver.Navigate().GoToUrl ("http://www.example.com/"时 chromedriver.exe 已停止工作)

c# - 使用 ShapeRange 在 Excel 中调整注释大小

c# - 从非 UI 线程更新 Windows 窗体上的标签?

c# - .NET 程序集文化

c# - 使用 C# 在 JSON 中添加类名

php - 输入过滤器/验证代码属于 Controller 还是域模型?