来看重构―使用反射兼并函数
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,先看下重构前的测试用例:
publicclassTestLoginextendsTestCase{
privateButtonManagerIbatisbuttonManagerIbatis;
protected voidsetUp()throwsException{
context=getContext();
buttonManagerIbatis=(ButtonManagerIbatis)context.getBean
("buttonManagerIbatis");
super.setUp();
}
ApplicationContextcontext;
protectedApplicationContextgetContext(){
String[]paths={"/context/application_context.xml"};
ApplicationContext ctx=newClassPathXmlApplicationContext(paths);
returnctx;
}
/***//**
*测试:上岸后读取权限信息,而且封装为树形布局
*/
publicvoidtestLongin(){
List<Button>list=buttonManagerIbatis.getAuth("0000");
testall(list);
}
Map<String,Model>modelmap=newHashMap<String,Model>();
Map<String,Menu> fmenumap=newHashMap<String,Menu>();
Map<String,Menu> smenumap= newHashMap<String,Menu>();
publicvoidtestall(List<Button>buttonList){
for(Buttonbutton:buttonList){
test(modelmap,button);
}
for(Modelmodel:modelmap.values()){
test2(smenumap,model);
}
for(Menumenu:smenumap.values()){
test3(fmenumap,menu);
}
for(Menufmenu:fmenumap.values()){
System.out.println(fmenu.getMenuName());
for(Menusmenu:fmenu.getMenus()){
System.out.println(" "+smenu.getMenuName());
for(Modelmodel:smenu.getModels()){
System.out.println(" "+model.getName());
for(Buttonb:model.getButtons()){
System.out.println(" "+b.getButtonDesc());
}
}
}
}
}
publicvoidtest(Map<String,Model>modelmap,Buttonb){
Modelm=b.getModel();
if(!modelmap.containsKey(m.getId()))
modelmap.put(m.getId(),m);
modelmap.get(m.getId()).getButtons().add(b);
}
publicvoidtest2(Map<String,Menu>menumap,Modelm){
Menumenu=m.getMenu();
if(!menumap.containsKey(menu.getId()))
menumap.put(menu.getId(),menu);
menumap.get(menu.getId()).getModels().add(m);
}
publicvoidtest3(Map<String,Menu>menumap,Menusmenu){
Menufmenu=smenu.getMenu();
if(!menumap.containsKey(fmenu.getId()))
menumap.put(fmenu.getId(),fmenu);
menumap.get(fmenu.getId()).getMenus().add(smenu);
}
}<p>
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种将安全性(Security)列为第一优先考虑的语言
页:
[1]