數據加載中……

          2011年7月23日

          分享 - 小問題大道理

           1 public class Order {
           2     
           3     private String name;
           4     //
           5     private Set<OrderLine> orderLines = new HashSet<OrderLine>();
           6 
           7     public String getName() {
           8         return name;
           9     }
          10 
          11     public void setName(String name) {
          12         this.name = name;
          13     }
          14 
          15     /**
          16      * 因為這是一個domain對象,貫穿你整個項目,不知你是否在意過這樣的設計。
          17      * 這樣的設計對你是否有用呢?
          18      * 用戶:表示API調用者。 
          19      */
          20     
          21     public Set<OrderLine> getOrderLines() {
          22         /*
          23          * 1.防止用戶任意修改訂單行的內容,強制要求用戶使用當前類提供的API修改訂單行
          24          * 2.getOrderLines()絕對不為null,有可能getOrderLines().isEmpty()為true
          25          * 用在你的程序中不會出現if(getOrderLines() == null && getOrderLines().isEmpty()),
          26          * 只會出現if(getOrderLines().isEmpty())
          27          */
          28         return Collections.unmodifiableSet(orderLines);
          29     }
          30 
          31     //-----------------------提供API修改Order by OrderLine----------------------------//
          32     public void addOrderLine(OrderLine orderLine) {
          33         //
          34         orderLines.add(orderLine);
          35     }
          36 
          37     public void removeOrderLine(OrderLine orderLine) {
          38         // 
          39     }
          40     //-----------------------提供API修改Order by OrderLine----------------------------//
          41     
          42     public void setOrderLines(Set<OrderLine> orderLines) {
          43         // this.orderLines = orderLines;
          44         // 為什么沒有向上面來做,是因為如果是這樣賦值的話那么兩個對象就是同一個引用了。
          45         // 用戶修改orderLines,this.orderLines也同樣會被修改。
          46         // 而提供這個類期望用戶通過該類提供的接口來修改orderLines。
          47         orderLines.addAll(orderLines);
          48     }
          49 
          50 }

          posted @ 2011-09-20 12:45 目繪藝術2 閱讀(185) | 評論 (0)編輯 收藏
          jdoc2chm (Javadoc轉CHM幫助文檔工具)

          jdoc2chm是一個轉換javadoc至CHM文件的工具,支持JDK7的Javadoc轉換。

          無論你在工作中或者在學習中,手上有一個良好易用的幫助文件都會給你帶來無限的方便。你無需要把什么東西都記在大腦里面,你只需要能夠熟練的使用各種技術的提供的幫助文檔,這樣你的工作和學習都會十分輕松。
          在你不明白或困惑的時候你應該閱讀官方提供的文檔,也許答案就在其中。

          類似jdoc2chm的工具網上也有許多,這次作者編寫該工具的主要目的是為了支持JDK7所生成的Javadoc(JDK7還未正式發布,同樣也是為了迎接JDK7的到來)。JDK7 Oracle官方提供的Javadoc與前面的版本格式都有所改變,導致前面所有的jdoc2chm工具都不能正確
          的將JDK7的Javadoc轉換為CHM。

          jdoc2chm是免費開源的一個項目。使用非常簡單。
          首先你要到這里去下載jdoc2chm的發布包。
          你可以通過下面的地址獲取jdoc2chm的源碼。

          http://jdoc2chm.googlecode.com/svn/trunk/

          下面賦上JDK7的CHM幫助文檔和效果圖。下載

          posted @ 2011-07-23 15:56 目繪藝術2 閱讀(516) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 海原县| 天长市| 宝山区| 乡城县| 凤冈县| 浪卡子县| 阿克陶县| 拜城县| 临沂市| 富民县| 巴马| 乌拉特前旗| 肃北| 丘北县| 茌平县| 雅安市| 民丰县| 托克逊县| 沙河市| 苏尼特左旗| 云安县| 台安县| 涿州市| 衡阳县| 博白县| 苏尼特左旗| 恭城| 睢宁县| 唐海县| 巧家县| 昌江| 新巴尔虎右旗| 香河县| 甘泉县| 积石山| 沽源县| 定兴县| 大同县| 长治市| 屏边| 砚山县|