2011-07-08 65 views
1

我想实现一个销售和库存管理系统,对如何在系统中应用依赖注入感到困惑。我想拥有一个使用数据库来保存其数据的库存类,如果我有一个处理数据库连接的类,比如说DBConnectionManager,然后是使用DBConnectionManager并与数据库交互的数据库层DBWrapper,然后充当数据库之间的抽象层DB和使用数据库的类,例如Inventory,Users,Customers,Sales。或者,我应该在每个用户,客户......类中编写sql代码。如何在库存管理系统中应用依赖注入

回答

1

有无蜉tryed Repository模式?

与DI一起使用非常好,你可以建立一个根类,保存连接和基本操作,比如更新,删除等等......

,然后扩展这个类来创建更有意义的名称更具体的行为......

这里是一个关于它的

http://nhibernate.hibernatingrhinos.com/27/the-repository-pattern

+0

感谢链接 –

1

IMO,你应该有一个DAO为你的数据库活动/操作创建的接口。这个DAO接口将具有用于存储/检索数据的通用操作。然后你可以让类实现这个DAO接口;一个类将启用数据库持久性,一类将启用基于文本文件持久性(如果你需要一个)等

你的数据库实现DAO又将有java.sql.Connection参考,这将使它能够连接到数据库。您将使用依赖机制(如Spring或Guice)在运行时为DAO接口和连接对象注入适当的实例。

基本上,学会用界面来思考,而不是使用继承来构造(并且不要回避使用继承来避免代码重复;只要确保超类不构成合同的一部分;或者没有暴露于外界。我个人认为Google Guice docs如何启动模块的时候,(在依赖注入的情况下)的良好来源。

+0

链接,这是非常有帮助的感谢 –

相关问题