仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 549|回复: 8
打印 上一主题 下一主题

[学习教程] 来看重构―使用反射兼并函数

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:04:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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: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的精髓。接下来你得研究设计模式了。
冷月葬花魂 该用户已被删除
5#
 楼主| 发表于 2015-2-14 11:44:10 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
小女巫 该用户已被删除
6#
发表于 2015-3-4 05:56:38 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-11 17:38:45 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
小妖女 该用户已被删除
8#
发表于 2015-3-19 04:12:45 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
蒙在股里 该用户已被删除
9#
发表于 2015-3-27 07:34:37 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 06:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表