<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    結構模式-Adapter適配器模式

    一:使用場景

         1)使用的地方:我想使用兩個不同類的方法,這個時候你需要把它們組合起來使用

         2)目前使用的情況:我會把兩個類用戶組合的方式放到一起,編程思想think in java里已經提到個,能盡量用組合就用組合,繼承一般考慮再后。

         3)使用后的好處:你不需要改動以前的代碼,只是新封裝了一新類,由這個類來提供兩個類的方法,這個時候:一定會想到facade外觀模式,本來是多個類使用的情況,我新封裝成一個類來使用,而這個類我采用組合的方式來包裝新的方法。我的理解是,設計模式本身就是為了幫助解決特定的業務場景而故意把模式劃分對應的模式類別,其實大多數情況,都解決了同樣的問題,這個時候其實沒有必要過多的糾纏到模式的名字上了,你有好的注意,你甚至取一個新的名字來概括這樣的使用場景。

        4)使用的壞處:適配器模式,有兩種方式來實現。一個是組合一個是繼承,我覺得,首先應該考慮組合,能用組合就不要用繼承,這是第一個。第二個,你采用繼承來實現,那肯定會加大繼承樹結構,如果你的繼承關系本身就很復雜了,這肯定會加大繼承關系的維護,不有利于代碼的理解,或則更加繁瑣。繼承是為了解決重用的為題而出現的,所以我覺得不應該濫用繼承,有機會可以考慮同樣別的方案。

    二:一個實際的例子

          關聯營銷的例子,用戶購買完商品后,我又推薦他相關別的商品

          由于減少代碼,方法我都不采用接口,直接由類來提供,代碼只是一個范例而已,都精簡了。

    1)創建訂單信息

    public class Order {
    private Long orderId;
    private String nickName;

    public Order(Long orderId,String nickName){
       this.orderId=orderId;
       this.nickName=nickName;
    }

    /**
    * 用戶下訂單
    */
    public void insertOrder(){
      
    }
    }

    2)商品信息

    public class Auction {
    /**商品名稱*/
    private String name;

    /**制造商*/
    private String company;

    /**制造日期*/
    private Date date;


    public Auction(String name,String company, Date date){
       this.name=name;
       this.company=company;
       this.date=date;
    }

    /**
    * 推廣的商品列表
    */
    public void commendAuction(){
      
    }

    }

    3)購物

    public class Trade {
    /**用戶訂單*/
    private Order order;

    /**商品信息*/
    private Auction auction;

    public Trade(Order order ,Auction auction){
       this.order=order;
       this.auction=auction;
    }

    /**
    * 用戶產生訂單以及后續的事情
    */
    public void trade(){
       /**下訂單*/
       order.insertOrder();
      
       /**關聯推薦相關的商品*/
       auction.commendAuction();
    }

    }

       4)使用心得:其實外面采用了很多繼承的方式,order繼承auction之后,利用super .inserOrder()再加一個auction.recommendAuction(),實際上大同小異,我到覺得采用組合更容易理解以及代碼更加優美點。

    posted on 2012-08-06 17:38 陳睿 閱讀(260) 評論(0)  編輯  收藏 所屬分類: 設計模式

    導航

    <2012年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人免费大片免费观看网站| 亚洲免费一区二区| 无码人妻精品中文字幕免费东京热| 亚洲午夜福利精品无码| 四虎影视久久久免费| 亚洲国产精品成人AV无码久久综合影院 | 精品无码一级毛片免费视频观看 | 国产亚洲av片在线观看播放| 999zyz**站免费毛片| 亚洲日韩精品一区二区三区无码| 亚欧乱色国产精品免费视频| 亚洲香蕉网久久综合影视| a级片免费观看视频| 久久亚洲私人国产精品| 91精品免费不卡在线观看| 亚洲中文字幕无码av在线| 成人免费视频88| 免费一级全黄少妇性色生活片| AV在线播放日韩亚洲欧| 免费无码又爽又刺激网站直播 | 久久亚洲成a人片| 在免费jizzjizz在线播| 中文字幕亚洲精品无码| 国产大片51精品免费观看| 两个人看的www视频免费完整版| 亚洲成A∨人片在线观看不卡| 9277手机在线视频观看免费| 亚洲乱码在线卡一卡二卡新区| 免费无遮挡无码永久在线观看视频| xxxxx做受大片视频免费| 亚洲五月激情综合图片区| 成年性羞羞视频免费观看无限| 国产成人精品久久亚洲高清不卡| 久久久久亚洲精品无码网址| 成年人网站免费视频| 男女作爱免费网站| 亚洲精品网站在线观看你懂的| 日韩免费无码一区二区视频| 免费毛片a线观看| 亚洲乱亚洲乱妇无码| 亚洲AV无码国产精品麻豆天美|