<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

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: caoporn成人免费公开| 激情婷婷成人亚洲综合| 国产好大好硬好爽免费不卡| 亚洲午夜无码片在线观看影院猛| 国产精品亚洲一区二区无码| 国产乱子影视频上线免费观看| 九九精品国产亚洲AV日韩| 国产男女猛烈无遮挡免费视频网站 | 亚洲欧美成人一区二区三区| 成人免费777777| 色欲aⅴ亚洲情无码AV| 四虎永久免费网站免费观看| 一区免费在线观看| 久久99国产亚洲高清观看首页 | 亚洲天堂一区二区三区四区| 成人激情免费视频| 久久久久久久久无码精品亚洲日韩| 国产免费131美女视频| a毛片成人免费全部播放| 亚洲成色在线影院| 国产精品69白浆在线观看免费 | 亚洲综合久久1区2区3区| 精品久久久久国产免费| 亚洲sm另类一区二区三区| 亚洲A丁香五香天堂网| 两个人日本免费完整版在线观看1| 亚洲高清在线视频| 国产免费毛不卡片| 一区二区三区精品高清视频免费在线播放 | 国产成人1024精品免费| 亚洲视频免费在线看| 成人免费777777| 少妇性饥渴无码A区免费| 亚洲成a人片毛片在线| 四虎影库久免费视频| 日韩电影免费在线观看中文字幕| 亚洲另类小说图片| 亚洲婷婷国产精品电影人久久| 污视频在线观看免费| 亚洲国产日韩a在线播放| 亚洲AV永久无码精品成人|