我对 MVC 比较陌生,并试图为基于 MVC 4 的 Web 应用程序构建一个框架。
这个问题与我的性质有些相似,但我有一个特殊情况,我希望社区评估并为我提供意见。
我有一个包含两个组件的软件系统 - MVC 4 Web 应用程序和 Windows 服务。“模型”层(我指的是域表等)将被 Windows 服务和 Web 应用程序访问。
我还计划在不久的将来向移动应用程序公开大量功能,API 也将使用该模型。
Web 应用程序和 API(移动应用程序)的功能重叠
以下是针对我的案例的一些问题:
- 跨 Web 应用程序和 API 重复使用视图模型以实现相同的功能(例如,更新在 Web 和移动应用程序上公开的个人的地址)是一个好主意吗?验证(例如地址验证——比如地址行、城市、州、邮编)应该放在哪里?
- Windows 服务功能在本质上更适合 Web+API(例如,发送提醒电子邮件的夜间作业),但可能与 Web+API 使用的“模型”部分重叠。服务直接使用“模型”还是有一个像“视图模型”这样的层是个好主意。在这种情况下,验证会去哪里?
- 我想了解更多信息的另一个概念性问题是 - 属性驱动验证是通过 MVC 框架实现的,即 MVC 架构采用视图模型,在视图模型属性上找到验证属性并注入相关验证. 在 API 和模型被 Windows 服务使用的情况下,这个属性驱动的验证将如何工作?