c# – 使用依赖注入在构造函数外部创建类的新实例
发布时间:2020-12-15 23:24:31 所属栏目:百科 来源:网络整理
导读:我正在尝试一个示例应用程序来测试依赖注入.在使用DI之前,我的课程中有以下方法: public IQueryableBookDTO GetBooks(){ var books = from b in db.Books select new BookDTO() { Id = b.Id,Title = b.Title,AuthorName = b.Author.Name }; return books;}
我正在尝试一个示例应用程序来测试依赖注入.在使用DI之前,我的课程中有以下方法:
public IQueryable<BookDTO> GetBooks() { var books = from b in db.Books select new BookDTO() { Id = b.Id,Title = b.Title,AuthorName = b.Author.Name }; return books; } BookDTO是另一个项目中定义的数据传输对象.现在我想把我的项目松散地结合在一起.所以我创建了IDTOBase接口并使BookDTO实现了这一点.我有一个统一容器,我已经将BookDTO类的相关注册到IDTOBase. 但是,如何在原始方法中重写LINQ查询?什么将取代“新BookDTO()”? 谢谢 解决方法
你从我想到的部分答案开始:’BookDTO是一个数据传输对象’.因此,抽象它几乎没有价值,因为它属于应用程序的一个非常特定的层.
BookDTO的作用是作为书籍的纯粹数据表示(以某种可能的可序列化形式).这将在应用程序堆栈中的低级别发生.任何需要使用此类数据的代码都应该创建一个可以在代码中使用的域对象“Book”.这将书籍数据(BookDTO)的持久性和检索与其域表示(Book)分离. 我不认为你的界面定义是为了这个目的,因此DI在这里没有用处.我认为DI在这里发挥作用的是书籍DTO的检索.加载书籍数据的类将注入此类服务并使用它来检索BookDTO实例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – var = Watir :: Browser.start’url’后无法在IRB中
- react-native – 我为什么要使用React原生StyleSheet?
- oracle 的绑定变量
- Bean的两种依赖注入方式
- A Flexible New Technique for Camera Calibration
- c# – 如何将PrincipalContext与MVC Web应用程序一起使用
- Visual C 2008 Express Edition是否可以编译C源代码?
- 【机房重构】——Sqlhelper
- XML解析:DOM、SAX、XMLParser
- Ruby 2.4中的Float Rounding更改