![]() |
1
0
IOC的一个好例子是数据库模拟。在编写应用程序时,可能需要持久化对象以供检索或在以后某个时间点使用。好吧,要提取数据库,您可以使用如下方法创建一个接口:
如果没有国际奥委会,你会得到这样的东西:
或者,您只需定义一个实现,并将其作为单例访问(最初似乎适合于数据库操作对象):
有了IOC,您可以在不重新编译应用程序的情况下切换dbsaver的实现(至少Spring提供了这一点)。也就是说,在不更改任何代码的情况下,您可以选择使用一个实现而不是另一个实现。对于数据库访问对象,最常见的事情是创建一个默认实现,该实现将所有内容存储在内存中。当您最终确定数据库设计、结构或技术时,您可以继续构建应用程序,而不必担心数据是如何持久化的。你只是在界面内工作。 通过这种方式,业务对象与数据库集成分离,这具有允许两个部分并行开发的巨大好处。 |