我决定将ASP.NET MVC用于网站项目,并希望遵循一些正在编写的最佳实践。
因此,我将域/模型分离到一个单独的项目中,创建了 IRepositories 和具体存储库,现在我将注意力转向了Castle Windsor作为IoC。
我现在面临的问题是,对于特定的 Controller,在构造函数上我现在必须传入多个 IRepository 参数。
我的问题是:
- 我是否可能创建了太多存储库 - 通常,我将 1 个存储库映射到 1 个实体类到 1 个数据库表。我的存储库是否应该有效地包含一个以上的实体/数据库表?
- 我是否错过了 IoC 和依赖注入的要点,我是否应该不关心参数如何传递给 Controller 构造函数?
给出某种背景。该网站的一部分将显示一个可按属性类型(城堡、房屋、酒吧等)、位置(邮政编码、城市)、开放时间等搜索的属性的谷歌地图。因此,这些可搜索的组件都是独立的实体属性类型、地址。城市、地址.邮政编码.经纬度+经度、开放时间.日期时间。因此,还有 3 个单独的存储库必须传递到 SearchController 构造函数中。
这是一个简单的示例,但我可以设想未来将有更多的存储库参数传递给其他控制器。
希望这一切都有意义。
感谢您的任何答案或建议。