问这个问题我觉得有点傻,但我一直在寻找一段时间并没有找到完整的答案,假设我有一个 MVC 网站,因为我遵循了这篇文章的结构:
架构决策:ASP.NET MVC & Entity Framework
WebSite (MVC)
Controllers
Views
Content (scripts, css, images, etc.)
Presentation Models
View Models
Model mappers
Web Library
Extensions (to MVC/Web classes)
Helper Classes
Attributes
Business Logic
Rules
Data (if complex, use separate subfolder per context/repos/models)
Entity Models
Repositories
Data Context
General Library
Extensions
Helper Classes
1)我应该把我的链接查询放在哪里来搜索数据?
我考虑在我的 BL 中创建一个通用搜索,如果需要其他应用程序(比如移动应用程序或 winform 应用程序)可以重用搜索对象,然后返回将通过演示模型项目映射的通用搜索对象?我不确定查询是“业务逻辑/规则”。
还是我应该直接在 Presentation Models 项目中进行所有这些查询?如果是这样,我会假设我仍然需要先创建通用对象,以便我可以将相同的查询重用于其他设备左右。
2)假设我想在此基础上添加一个移动应用程序,我是否应该将每个视图模型放在同一个演示模型项目中,用于 Web 和移动设备?
3)即使对于输入验证和CRUD操作,来自Web的每个调用都应该通过表示层吗?
感谢您的时间