作为标准,我们为'N'实体制作'N'控制器。 假设我有两个实体,一个用于学生,一个用于课程,我必须添加学生并添加课程,如果我为学生进行crud操作的类和另一个进行crud操作的类的接口,我必须为课程和学生传递那些实现的类的对象用于单独的控制器
如果我需要在我的学生控制器中实现课程的对象? 实际上我们不直接在控制器中为接口分配类 我们在Ninject.common文件中绑定它们,我们在其中描述A接口使用B类,C接口使用D类。
我应该在第一个控制器构造函数中使用两个参数吗? 我应该直接在第一个控制器中创建实现第二个接口的类的对象吗? 如果你说我应该使用模型绑定,那么如何通过B类在我的第一个控制器中的绑定类D中添加数据?
答案 0 :(得分:0)
答案是:这取决于。
如果您的应用程序很小,在一个数据库中有两个实体,并且您在保存时进行最少的转换或验证工作,我会说您应该只有一个存储库类来访问这两个实体。这最大限度地降低了复杂性。
但是,如果每次保存实体(数据清理,验证等)时都需要做大量工作,请使用单独的数据访问类,这些类又会调用一个处理实际保存和获取实体的存储库。 / p>
至于初始化的位置,总是使用依赖注入,永远不要直接实例化。按照这个规则,直到看起来很傻,然后打破它。