|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。
简介
Java企业使用开辟社区在毗连对象方面花了很年夜工夫。你的Web使用怎样会见两头层服务?你的服务怎样毗连到登任命户和事件办理器?关于这个成绩你会发明良多通用的和特定的办理计划。有一些计划依附于形式,另外一些则利用框架。一切这些计划城市分歧水平地引进一些难于测试大概程式化代码反复的成绩。你即刻就会看到,Guice在这方面是全天下做得最好的:十分简单举行单位测试,最年夜水平的天真性和可保护性,和起码的代码反复。
我们利用一个设想的、复杂的例子来展现Guice优于其他一些你大概已熟习的典范办法的中央。上面的例子过于复杂,只管它展现了很多不言而喻的长处,但实在它还远没有发扬出Guice的全体潜能。我们但愿,跟着你的使用开辟的深切,Guice的优胜性也会更多地展示出来。
在这个例子中,一个客户对象依附于一个服务接口。该服务接口能够供应任何服务,我们把它称为Service。
publicinterfaceService{
voidgo();
}
关于这个服务接口,我们有一个缺省的完成,但客户对象不该该间接依附于这个缺省完成。假如我们未来盘算利用一个分歧的服务虚现,我们不但愿回过火来修正一切的客户代码。
publicclassServiceImplimplementsService{
publicvoidgo(){
...
}
}
我们另有一个可用于单位测试的伪服务对象。
publicclassMockServiceimplementsService{
privatebooleangone=false;
publicvoidgo(){
gone=true;
}
publicbooleanisGone(){
returngone;
}
}
复杂工场形式
在发明依附注进之前,最经常使用的是工场形式。除服务接口以外,你另有一个既能够向客户供应服务对象,也能够向测试程序传送伪服务对象的工场类。在这里我们会将服务完成为一个单件对象,以便让示例只管简化。
publicclassServiceFactory{
privateServiceFactory(){}
privatestaticServiceinstance=newServiceImpl();
publicstaticServicegetInstance(){
returninstance;
}
publicstaticvoidsetInstance(Serviceservice){
instance=service;
}
}
客户程序每次必要服务对象时就间接从工场猎取。
publicclassClient{
publicvoidgo(){
Serviceservice=ServiceFactory.getInstance();
service.go();
}
}
<p>
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。 |
|