冷月葬花魂 发表于 2015-1-18 11:04:08

来看重构―使用反射兼并函数

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>
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......

老尸 发表于 2015-1-20 13:41:45

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

愤怒的大鸟 发表于 2015-1-29 08:04:23

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

活着的死人 发表于 2015-2-6 00:03:16

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

冷月葬花魂 发表于 2015-2-14 11:44:10

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

小女巫 发表于 2015-3-4 05:56:38

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

飘飘悠悠 发表于 2015-3-11 17:38:45

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

小妖女 发表于 2015-3-19 04:12:45

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

蒙在股里 发表于 2015-3-27 07:34:37

是一种将安全性(Security)列为第一优先考虑的语言
页: [1]
查看完整版本: 来看重构―使用反射兼并函数