我想实现一个销售和库存管理系统,对如何在系统中应用依赖注入感到困惑。我想拥有一个使用数据库来保存其数据的库存类,如果我有一个处理数据库连接的类,比如说DBConnectionManager,然后是使用DBConnectionManager并与数据库交互的数据库层DBWrapper,然后充当数据库之间的抽象层DB和使用数据库的类,例如Inventory,Users,Customers,Sales。或者,我应该在每个用户,客户......类中编写sql代码。如何在库存管理系统中应用依赖注入
1
A
回答
1
有无蜉tryed Repository模式?
与DI一起使用非常好,你可以建立一个根类,保存连接和基本操作,比如更新,删除等等......
,然后扩展这个类来创建更有意义的名称更具体的行为......
这里是一个关于它的
http://nhibernate.hibernatingrhinos.com/27/the-repository-pattern
1
IMO,你应该有一个DAO为你的数据库活动/操作创建的接口。这个DAO接口将具有用于存储/检索数据的通用操作。然后你可以让类实现这个DAO接口;一个类将启用数据库持久性,一类将启用基于文本文件持久性(如果你需要一个)等
你的数据库实现DAO又将有java.sql.Connection
参考,这将使它能够连接到数据库。您将使用依赖机制(如Spring或Guice)在运行时为DAO接口和连接对象注入适当的实例。
基本上,学会用界面来思考,而不是使用继承来构造(并且不要回避使用继承来避免代码重复;只要确保超类不构成合同的一部分;或者没有暴露于外界。我个人认为Google Guice docs如何启动模块的时候,(在依赖注入的情况下)的良好来源。
+0
链接,这是非常有帮助的感谢 –
相关问题
- 1. 如何在克隆存储库时管理依赖关系?
- 2. C#依赖注入 - 如何注入无源的依赖关系?
- 3. 使用git管理库依赖关系
- 4. 如何在ktor中注入依赖关系应用
- 5. 如何在Nuget库中管理Castle Windsor依赖关系
- 6. 如何使用统一(基础)注入依赖关系?
- 7. 类库中的依赖注入如何?
- 8. IoC /依赖注入 - 如何处理上下文依赖关系(使用Structuremap)
- 9. npm:依赖关系如何管理?
- 10. 如何管理.net依赖关系
- 11. 使用静态库和应用程序管理依赖关系
- 12. 如何实现依赖/包管理系统?
- 13. 管理依赖关系
- 14. JavaScript依赖关系管理
- 15. 如何管理Javascript库中的依赖关系
- 16. 在virtualenv中管理github依赖关系
- 17. 使用统一注册实例注入依赖关系
- 18. 库存管理系统在VB.Net中的应用
- 19. 何时注入依赖关系或在Aurelia中如何使用?
- 20. 在IIS中托管时将依赖关系注入到IErrorHandler中
- 21. 在Global.asax中注入依赖关系
- 22. 注入依赖关系
- 23. 我应该如何管理AngularJS中的依赖关系?
- 24. 如何使用lein来管理依赖关系的依赖关系?
- 25. 如何在决定使用哪个依赖项时注入依赖关系需要使用依赖关系
- 26. 在Sinatra应用程序中注入依赖关系
- 27. 依赖注入vb.net使用统一
- 28. AngularJS依赖注入原理
- 29. 如何处理抽象第三方依赖项(依赖注入)?
- 30. Angular 2依赖注入 - 如何知道在哪里插入依赖关系
感谢链接 –