如果我打算使用DTO传递数据交叉层/程序集而不是持久类,我可以将持久模型中的类的访问权限限制为同一程序集中的对象。
但是在Orchard CMS(使用NHibernate for ORM,AutoFac for Dependency Injection)这样的系统中,持久性是通过另一个程序集来提供IRepository<T>
持久性,系统会将IRepository<T>
注入我的汇编在类构造函数之一,因此它要求持久化的类T是公共的。如果没有依赖注入,我可以将T定义为内部并在我的汇编代码中使用IRepository<T>
,依赖注入是否要求类始终是公共的?