WEB开发网
开发学院软件开发Java 轻量级开发的成功秘诀,第 2 部分: 如何减轻容器 阅读

轻量级开发的成功秘诀,第 2 部分: 如何减轻容器

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 还有容器中的单行更改:...Speakerspeaker=newCalifornianSpeaker();注意,您现在可以在 speaker 的两个实现之间变化,轻量级开发的成功秘诀,第 2 部分: 如何减轻容器(4),而惟一需要改变的代码就是容器,更关键的是,两部分代码是完全去耦的;接口和容器

还有容器中的单行更改:

...  Speaker speaker=new CalifornianSpeaker();

注意,您现在可以在 speaker 的两个实现之间变化,而惟一需要改变的代码就是容器。更关键的是,您可以轻松地注入模拟对象来替代真正的 Speaker 实现,并且无需影响其他的代码基就可以进行测试。

当然,最终目标是用专门定制的容器来替代这个手写容器。例如,使用 Spring 容器。在本例中,替换的是您的 Container 类,并且您可以使用类似清单 3 中代码的简单 XML 文件。


清单 3. 用于 Spring 容器的 XML 文件
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans> 
  <bean id="mySpeaker" class="CanadianSpeaker"> 
  </bean> 
  <bean id="consumer" class="Consumer"> 
    <property name="speaker"><ref local= 
    "mySpeaker"/></property> 
  </bean> 
</beans>     
</code> 

现在,您可以下载上下文,获取 Consumer bean,然后像下面这样运行它:

ApplicationContext ac = 
new FileSystemXmlApplicationContext("context.xml"); 
Consumer c=(HelloWorld)ac.getBean("consumer"); 
c.saySomething(); 

Spring 容器与您的容器完成相同的事情。它实例化 beans,并通过设置属性而将它们绑在一起。注意,两部分代码是完全去耦的;接口和容器确保了这一点。您可以使用依赖注入来满足进行企业级开发(例如,数据源或事务管理器)所遇到的许多依赖性。

上一页  1 2 3 4 5 6 7  下一页

Tags:轻量级 开发 成功

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接