仓酷云

标题: 来看重构―使用反射兼并函数 [打印本页]

作者: 冷月葬花魂    时间: 2015-1-18 11:04
标题: 来看重构―使用反射兼并函数
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,
先看下重构前的测试用例:
  1. publicclassTestLoginextendsTestCase{
  2.   privateButtonManagerIbatisbuttonManagerIbatis;
  3.   
  4.    protected voidsetUp()throwsException{
  5.       context=getContext();
  6.       buttonManagerIbatis=(ButtonManagerIbatis)context.getBean
  7. ("buttonManagerIbatis");
  8.       super.setUp();
  9.     }
  10.     ApplicationContextcontext;
  11.     protectedApplicationContextgetContext(){  
  12.       String[]paths={"/context/application_context.xml"};
  13.       ApplicationContext ctx=newClassPathXmlApplicationContext(paths);
  14.       returnctx;
  15.     }
  16.   
  17.   /***//**
  18.   *测试:上岸后读取权限信息,而且封装为树形布局
  19.   */
  20.    publicvoidtestLongin(){
  21.      List<Button>list=buttonManagerIbatis.getAuth("0000");
  22.      testall(list);
  23.      
  24.    }
  25.     Map<String,Model>modelmap=newHashMap<String,Model>();
  26.     Map<String,Menu> fmenumap=newHashMap<String,Menu>();
  27.     Map<String,Menu> smenumap= newHashMap<String,Menu>();
  28.     
  29.     publicvoidtestall(List<Button>buttonList){
  30.       for(Buttonbutton:buttonList){
  31.         test(modelmap,button);
  32.       }
  33.       for(Modelmodel:modelmap.values()){
  34.         test2(smenumap,model);
  35.       }
  36.       for(Menumenu:smenumap.values()){
  37.         test3(fmenumap,menu);
  38.       }
  39.       for(Menufmenu:fmenumap.values()){
  40.         System.out.println(fmenu.getMenuName());
  41.         for(Menusmenu:fmenu.getMenus()){
  42.           System.out.println(" "+smenu.getMenuName());
  43.           for(Modelmodel:smenu.getModels()){
  44.             System.out.println("  "+model.getName());
  45.             for(Buttonb:model.getButtons()){
  46.               System.out.println("   "+b.getButtonDesc());
  47.             }
  48.           }
  49.         }
  50.       }
  51.     }
  52.   
  53.     publicvoidtest(Map<String,Model>modelmap,Buttonb){
  54.       Modelm=b.getModel();
  55.       if(!modelmap.containsKey(m.getId()))
  56.         modelmap.put(m.getId(),m);
  57.       modelmap.get(m.getId()).getButtons().add(b);
  58.     }
  59.     
  60.     publicvoidtest2(Map<String,Menu>menumap,Modelm){
  61.       Menumenu=m.getMenu();
  62.       if(!menumap.containsKey(menu.getId()))
  63.         menumap.put(menu.getId(),menu);
  64.       menumap.get(menu.getId()).getModels().add(m);
  65.         
  66.     }
  67.     
  68.     publicvoidtest3(Map<String,Menu>menumap,Menusmenu){
  69.       Menufmenu=smenu.getMenu();
  70.       if(!menumap.containsKey(fmenu.getId()))
  71.         menumap.put(fmenu.getId(),fmenu);
  72.       menumap.get(fmenu.getId()).getMenus().add(smenu);
  73.     }
  74.     
  75. }
复制代码
<p>
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
作者: 老尸    时间: 2015-1-20 13:41
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 愤怒的大鸟    时间: 2015-1-29 08:04
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 活着的死人    时间: 2015-2-6 00:03
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
作者: 冷月葬花魂    时间: 2015-2-14 11:44
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 小女巫    时间: 2015-3-4 05:56
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 飘飘悠悠    时间: 2015-3-11 17:38
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 小妖女    时间: 2015-3-19 04:12
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
作者: 蒙在股里    时间: 2015-3-27 07:34
是一种将安全性(Security)列为第一优先考虑的语言




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2