【发布时间】:2014-07-09 06:26:56
【问题描述】:
我正在开发一个 MVVM 模式的 Window-App WPF 项目。目前,该应用程序有点简单(无法真正解释产品的性质),但最终它有望成长为更复杂的应用程序。
- wpf winapp 有一个本地数据库,还连接到一个 REST 服务。
- 开发时间并不是真正的首要问题;但可维护性和可测试性。
- 将使用 IOC 容器和 DI
- 计划做 1 个 ViewModel 就是做 1 个 View
- 我不想使用任何 WPF/MVVM 框架,因为这是我第一次使用 WPF-MVVM 应用程序(就像第一次在裸 DOM javascript 中编码,即使有 jquery)。
我决定使用多个项目,目前我的想法如下:
- Product.Windows.Common(实用程序、日志记录、帮助程序等)
- Product.Windows.Entities(数据库和 REST 实体)
- Product.Windows.Contracts(所有接口都将驻留在此命名空间/项目中)
- Product.Windows.Data(用于本地数据库)
- Product.Windows.ServiceClients(用于 REST 客户端)
- Product.Windows.App(主 WPF 项目,包含 Views/XAML)
- Product.Windows.Models(INPChanged)
- Product.Windows.ViewModels(INPChanged 和 ICommands)
- Product.Windows.Tests(单元测试)
我只想问:
这个架构是不是有点矫枉过正了?
我是否需要为业务逻辑创建一个 Product.Windows.Business?还是应该将业务逻辑放在 ViewModel 中?
提前谢谢你:)
【问题讨论】:
-
许多好的问题会根据专家的经验产生一定程度的意见,但这个问题的答案往往几乎完全基于意见,而不是事实、参考资料或特定的专业知识。 因此,我已投票结束此问题。
标签: c# .net wpf mvvm architecture