• <menu id="gyiem"><menu id="gyiem"></menu></menu>
  • <menu id="gyiem"><code id="gyiem"></code></menu>

    Java設計模式(五) 組合模式

    原創文章,轉載請務必將下面這段話置于文章開頭處(保留超鏈接)。
    本文轉發自技術世界原文鏈接 http://www.luozeyang.com/design_pattern/composite/

    組合模式介紹

    組合模式定義

    組合模式(Composite Pattern)將對象組合成樹形結構以表示“部分-整體”的層次結構。組合模式使得用戶可以使用一致的方法操作單個對象和組合對象。

    組合模式類圖

    組合模式類圖如下
    Composite pattern class diagram

    組合模式角色劃分

    • 抽象組件,如上圖中的Component
    • 簡單組件,如上圖中的SimpleComponent
    • 復合組件,如上圖中的CompositeComponent

    組合模式實例

    實例介紹

    對于一家大型公司,每當公司高層有重要事項需要通知到總部每個部門以及分公司的各個部門時,并不希望逐一通知,而只希望通過總部各部門及分公司,再由分公司通知其所有部門。這樣,對于總公司而言,不需要關心通知的是總部的部門還是分公司。

    實例類圖

    組合模式實例類圖如下(點擊可查看大圖)
    Composite pattern example class diagram

    實例解析

    本例代碼可從作者Github下載

    抽象組件

    抽象組件定義了組件的通知接口,并實現了增刪子組件及獲取所有子組件的方法。同時重寫了hashCodeequales方法(至于原因,請讀者自行思考。如有疑問,請在評論區留言)。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    package com.jasongj.organization;

    import java.util.ArrayList;
    import java.util.List;

    public abstract class Organization {

    private List<Organization> childOrgs = new ArrayList<Organization>();

    private String name;

    public Organization(String name) {
    this.name = name;
    }

    public String getName() {
    return name;
    }

    public void addOrg(Organization org) {
    childOrgs.add(org);
    }

    public void removeOrg(Organization org) {
    childOrgs.remove(org);
    }

    public List<Organization> getAllOrgs() {
    return childOrgs;
    }

    public abstract void inform(String info);

    @Override
    public int hashCode(){
    return this.name.hashCode();
    }

    @Override
    public boolean equals(Object org){
    if(!(org instanceof Organization)) {
    return false;
    }
    return this.name.equals(((Organization) org).name);
    }

    }

    簡單組件(部門)

    簡單組件在通知方法中只負責對接收到消息作出響應。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    package com.jasongj.organization;

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;

    public class Department extends Organization{

    public Department(String name) {
    super(name);
    }

    private static Logger LOGGER = LoggerFactory.getLogger(Department.class);

    public void inform(String info){
    LOGGER.info("{}-{}", info, getName());
    }

    }

    復合組件(公司)

    復合組件在自身對消息作出響應后,還須通知其下所有子組件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    package com.jasongj.organization;

    import java.util.List;

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;

    public class Company extends Organization{

    private static Logger LOGGER = LoggerFactory.getLogger(Company.class);

    public Company(String name) {
    super(name);
    }

    public void inform(String info){
    LOGGER.info("{}-{}", info, getName());
    List<Organization> allOrgs = getAllOrgs();
    allOrgs.forEach(org -> org.inform(info+"-"));
    }

    }

    組合模式優缺點

    組合模式優點

    • 高層模塊調用簡單。組合模式中,用戶不用關心到底是處理簡單組件還是復合組件,可以按照統一的接口處理。不必判斷組件類型,更不用為不同類型組件分開處理。
    • 組合模式可以很容易的增加新的組件。若要增加一個簡單組件或復合組件,只須找到它的父節點即可,非常容易擴展,符合“開放-關閉”原則。

    組合模式缺點

    • 無法限制組合組件中的子組件類型。在需要檢測組件類型時,不能依靠編譯期的類型約束來實現,必須在運行期間動態檢測。

    組合模式與OOP原則

    已遵循的原則

    • 依賴倒置原則(復合類型不依賴于任何具體的組件而依賴于抽象組件)
    • 迪米特法則
    • 里氏替換原則
    • 接口隔離原則
    • 單一職責原則
    • 開閉原則

    未遵循的原則

    • NA

    Java設計模式系列

    郭俊 Jason wechat
    歡迎關注作者微信公眾號【大數據架構】
    您的贊賞將支持作者繼續原創分享
    速赢彩app 35252e.com | www.ms8873.com | www.100344.com | b2490.com | 228888d.com | www.5364d.com | www.2373a.com | 54141177.com | www.35700aa.com | www.055890.com | 1194.com | www.5522t.cc | 6261oo.com | www.9895s.com | 441343.com | www.yh9993.cc | www.qj35.com | 7141oo.com | www.5856885.com | mayait.cn | www.226600r.com | www.239644.com | 59964bb.com | www.9989587.com | 20833c.com | www.203rs.com | www.325826.com | www.df997.com | www.159433.com | 7555v.com | www.50999c.com | 76543l.com | www.sands4455.com | www.776511.com | 2595w.com | www.bet73x.com | 4018.com | www.3978s.com | 3656xx.com | www.1754h.com | h5429.com | www.4078h.com | 5350s.com | www.38238d.com | 5802oo.com | www.4261199.com | www.526051.com | www.xinhao03.com | www.662517.com | www.hg1020.net | www.zcwf0.com | 7168813.com | www.3668t.com | 888hg.com | www.84499.cc | 22661381.com | www.904867.com | www.876445.com | www.900246.com | www.7720y.com | www.506969.com | www.282205.com | www.646959.com | www.98699.com | www.564676.com | www.40686c.com | www.253230.com | www.abc0000.com | www.190882.com | www.09569n.com | www.198109.com | www.5757msc.com | www.401270.com | www.77164.com | www.390477.com | www.323567.com | www.197092.com | www.sun5655.com | 5622b.com | www.mk856.com | bet89226.com | www.685029.com | qq1915.com | www.8582ee.com | 0025i.com | www.hf0668.com | www.pj7333.com | www.760250.com | www.330099n.com | 7196hh.com | www.hg1266.com | 3258t.com | www.4546900.com | 4340j.com | www.4323g.com | 500000472.com | www.982082.com | www.2899msc.com | 3656lkk.com | www.335217.com | 3009300930093009.com | www.66653m.com | 66577.cc | www.023128.com | www.lpj2222.com | 12742u.com | www.97828c.vip | 8290r.com | www.665993.com | www.1859005.com | vns8d.com | www.sbd026.net | 3656rr.com | www.3126v.com | www.pjchongqing.com | 11007.com | www.jz6788.com | vvv01234.com | www.gczj7.com | www.yh8461.com | 3222t.cc | www.bb4625.com | 0033c.cc | www.32123e.com | www.38345e.com | 36405599.com | www.979133.com | www.3775799.com | ab5.com | www.1779.com? | 2544b6.com | www.412228.com | www.68277.com | 5295.com | www.745568.com | www.492020.com | 98345ee.com | www.35155j.com | www.txck.cc | 81366w.com | www.x88789.com | www.yun770.com | 1697.com | www.xpj815.com | 55155s.com | yf2888.com | www.79095t.com | 6641kk.com | 531288.com | www.63606q.com | alifa978.com | 2127uu.com | www.660689.com | www.23776.com | 56988pp.com | www.4428229.com | www.ylg.net | 08820055com | www.4323y.com | www.25288v.com | 2127oo.com | www.2373k.com | www.hv866.com | 50099h.com | www.335037.com | www.03a88.com | 44553885.com | 1654xx.com | www.7714.net | www.hq5177.com | 53015.com | dz22555.com | www.ejylc16.com | www.jing6661.com | v4212.com | www.082709.com | www.78680w.com | www.77537i.com | 3568h.com | www.156050.com | www.63606q.com | www.hg5588k.com | by302.com | www.640118.com | www.00778l.com | www.hg3388.org | quyoudaren.com | www.842686.com | www.5588kk.com | www.xjs8895.com | h4212.com | www.ck9191.com | www.848777m.com | www.95msc.com | 44qq8332.com | www.789755.com | www.6880ll.com | www.6491x.com | 0234c.com | www.494969.com | www.38775qq.com | www.592433.com | fh7.com | 908080p.com | www.6832i.com | www.98698g.com | www.30099.com | tt6828.com | www.073818.com | www.ya2019b.com | www.hg7857.com | 500000701.com | 88851h.com | www.309388.com | www.40R.COM | www.lb55567.com | www.ag9611.com | 4541u.com | 0496556.com | www.055h.cc | www.w84i.com | www.345345.com | 50000029.com | 1458t.com | ylzz1110.com | www.6ttz.com | www.z98478.com | www.hhvip87.com | www.63877u.com | 11xx8332.com | feicai0439.com | www.507381.com | www.720650.com | www.33707.com | www.520195.com | 228888.com | 8988gg.com | 2595y.com | www.ck9393.com | www.5958818.com | www.310154.com | www.67223g.com | 1343.com | qycps05.com | 9101902.com | 99v999.com | www.701487.com | www.99788s.com | www.q80288.com | www.hg8875.com | www.292xpj.com | 44077g.com | 915901596.com | 0201gg.com | biying960vip.com | www.612110.com | www.60123s.com | www.ag3333.com | www.4719aa.com | www.3844f.com | 56987dd.com | 73055q.com | 6396x.com | 65005c.com | www.289971.com | www.gczj9.com | www.77114x.com | www.97994b.com | www.xlcp.com | www.911955.com | www.655666a.com | 8742z.com | t7742.com | amhg007.com | 4630000.com | 51oid.com | 5001v.com | www.572539.com | www.fh17.com | www.08588n.com | www.2418b.com | www.a458.com | www.377666g.com | www.68806.com | www.3334msc.com | www.jsp02.com | www.3459f.com | www.7hg88.com | 155.net | 55hh8331.com | 7720a.net | 00992007.com | dz3666.com | v77304.com | 3008590.com | hg10d.com | ii40033com | js58222.com | xpj677m.com | 40033eee.com | 1669q.com | 4444.ag | www.57800d.com | w1429.com | 6699vn77.com | 01572.com | 3568p.com | 2306p.com | 4195b.com | 3844z.com | 3258r.com | 000365.net | 0015jj.com | 2021www.com | blhvip666.com | feicai0371.com | 11dd8332.com | 559649.com | 5360uu.com | 0615018.com | 3467k.com | 3868yhzz.com | 500000315.com | 8742d.com | www.gh0091.com | www.6666.cm | www.66930055.com | www.06263.com | www.suncity112.com | www.1168j.com | www.06820n.com | www.ba502.com | www.68993235.com | www.33997m.com | www.95.la | www.701548.com | 305196.com | 937004.com | 35252q.com | 3807bb.com | 1422.com | 2104.com | www.xjs8898.com | www.3643s.com | www.67tyc.com | www.015.com | www.04567s.com | www.8899kcd.com | www.yh76a.com | www.le96.com | www.196091.com | 7935e.com | 1294j.com | 2324zzz.com | 2381aa.com | www.yinhecc44.com | www.tm3721.com | www.97060c.com | www.56011z.com | www.49956c.com | www.689144.com | 35tt.vip | hggjtg16.com | 33111177.com | www.86611p.com | www.dhygw994.com | www.55545n.com | www.hg860022.com | www.kc19.com | 80368p.com | 3405mm.com | 88894u.com | www.546001.com | www.569369.com | www.00772y.com | www.302551.com | www.c760.vip | ysb95.com | 5.am | 73999g.com | www.bet611.com | www.cn365w.com | www.77803m.com | www.456639.com | 118888a.com | 4461u.com | www.727xpj.com | www.cao880.com | www.7249s.com | www.c177.com | 2546l.com | 4196f.com | www.ag4898.com | www.hf9018.com | www.4331u.com | www.602721.com | 3678l.com | 3878722.com | www.81228m.com | www.4996sx.com | www.8816x.com | ms38648mm.cc | 4167m.com | www.hg77009.com | www.06jsjs.com | www.77114k.com | c388z.com | yy1915.com | www.5599365.com | www.4212g.com | www.52303d.com | 31325p.com | vvv40033.com | www.caipiao045.com | www.70976.cc | www.931499.com | 0363.com | www.81866z.com | www.7779566.com | www.00665c.com | pj677l.com | 808vns.com | www.08159g.com | www.3678.com | www.158267.com | vns00vv.com | www.333133c.com | www.63606r.com | www.534680.com | 116060.com | www.bet3652019.com | www.huangma22.com | www.808390.com | lehu558.com | www.kb8828.com | www.x69096.com | www.743533.com | 2127gg.com | www.hg3636.com | www.73990u.com | www.348116.com | 3467j.am | www.cj270.com | www.dyloto9.com | 6175d.com | 102568.com | www.137603.com | www.952583.com | 1331xx.com | www.sbet345.net | www.ag0234.com | www.ycu8.com | www.9478p.com | 55966.com | www.vns353.com | d2490.com | www.10mscc.com | www.cp7777b.com | 6830bb.com | www.99677z.com | hg10v.com | www.33678pp.com | 1665kk.com | www.37tyc.com | 9980xl.com | www.363788.com | www.746133.com | 73567tg17.com | www.25688j.com | xpj61788.com | www.9422c.com | 3807o.com | www.246776.com | 80892pp.com | www.01711.com | 9068jj.com | www.5860x.com | 33382k.com | www.5555by.com | www.179237.com | www.q30226.com | www.560251.com | www.63877p.com | www.907883.com | www.glc22.com | www.w459.com | 1259z.com | www.zcwf7.com | 1327z.com | www.gu64.com | www.6161sun.com | www.slyl3.com | amjsc01.com | www.890c.com | 00778x.com | www.qucp1.com | www.1869m.com | www.ch8955.com | www.64400a.com | www.c189.vip | www.yh3377.cc | www.598966.com | www.hg358.com | www.444537.com | www.3336358.com | www.108065.com | www.5816ee.com | 386kze.com | www.00699a.com | 4018002.com | www.19019b.com | tz22666.com | www.73990x.com | qq67890.com | www.290201.com | 88807w.com | www.3890a.com | www.jsw66.cc | www.444602.com | www.3459dd.com | mm90856.com | www.255783.com | 9694p.com | www.452.com | 2127m.com | www.ya515.com | www.alpk33.com | www.032823.com | www.76775a.com | 123456uu.cc | www.40288i.com | 20053399.com | www.888xm.cc | www.56520i.com | 11qq8331.com | www.8861tt.com | 23599l.com | www.181442.com | 6423j.com | www.316530.com | www.118sjz.cc | 8538j.com | www.70669b.com | 0241.com | www.691063.com | www.b868.com | 38238m.com | www.55717o.com | 2543002.com | www.511039.com | www.xiniguoji.com | bt2088.com | www.6646.com | www.heng95990.com | www.047788.com | www.b456x.com | 3467k.cc | www.5086z.com | www.7893w62.com | ly8004.com | www.14168d.com | 667766w.com | www.322424.com | www.jjjj006.com | ctxcp26.com | www.7782e.com | www.868686.cc | 8569811l.com | www.16065u.com | www.hgbb.com | 188qq999.com | www.vns44.me | hg128.com | shanghaia18.com | www.v01888.com | 228888.com | www.186297.com | www.2206488.com | 61655.com | www.566385.com | www.dzcp2222.com | 20160913.vip | www.544095.com | www.f9478.com | 822051.com | www.602469.com | www.c44aa.com | js99870.com | www.544094.com | www.3726.com | 8547ii.com | www.202429.com | www.89599j.com | 667766b.com | www.34788a.com | www.9997018.com | 091061.com | 365vip60.co | www.cb800.cc | www.ag.dl39709.com | 1331h.com | www.12455q.com | www.36607a.com | 4167d.com | www.690802.com | www.5146z8.com | 3005.am | 9193.cc | www.win1233.com | www.g30226.com | yhsichun.vip | www.aa3126.com | www.fh2801.com | 11005w.com | zzylc3.com | www.4809e.com | www.825909.com | 2008.com | www.899427.com | www.4694x.com | ff555w.com | 66300vip11.com | www.52011.tv | www.306408.com | 4960066.com | www.88266i.com | www.29586.com | www.msc44.la | 4556y.com | www.218291.com | www.a3846.com | www.7025u.com | 1213633.com | www.403489.com | www.792071.com | www.9785999.com | 0135.com | www.489800.com | www.509291.com | www.58777f.com | l67890.com | www.66653v.com | www.ylylc01.com | www.hg7803.com | 50099w.com | 3024r.com | www.15355d.com | www.2805.com | www.033033j.com | pj8114.com | www.564846.com | www.0088hgii.com | www.2998w.com | 175070.com | 91019v.net | www.c6078.com | www.00778p.com | www.i30226.com | i8159.cc | 2934e.com | www.zhang258.com | www.80188q.com | www.5552558.com | uu7742.com | p88890.com | www.dao90.com | www.704905.com | www.pj1422.com | 8569811r.com | 675bet.com | www.616383.com | www.48330h.com | www.70678d.com | www.hg08678.com | 51133t.com | sypk10.com | www.11csj.com | www.62979a.com | www.x99688.com | 0033b.cc | 88119f.com | 30176699.com | www.ycp0.com | www.abc288.com | www.huamu51.com | www.88315888.com | 40033yy.com | 996622zz.com | www.715025.com | www.6939w.com | www.twcp.com | www.93036522.com | 6830v.com | mf708.com | 33318z.com | www.982799.com | www.065815.com | www.1168x.com | www.0860l.com | 8036o.com | 3678y.com | 22883z.com | www.818827.com | www.759126.com | www.6bet005.com | www.071097.com | www.86611z.com | 772.so | 7196ll.com | 9339999j.com | www.761996.com | www.86267c.com | www.x32031.com | www.am0666.com | www.c4737.com | 99111yy.com | 8888c9.com | 500000760.com | 1813p.com | www.899485.com | www.88065b.com | www.cc00668.com | www.6a555.com | www.1770g.com | www.789pj.com | 8522tttt.com | d4212.com | 80878e.com | 2767h.com | www.352477.com | www.001ac.com | www.3208.com | www.9895g.com | www.c44nn.com | www.e3838.com | www.cr1112.com | 5589a.com | 22244066.com | 8159kk.cc | p7742.com | 5855ll.com | 6766hh.com | www.444075.com | www.igcp2.com | www.66653l.com | www.5555287.com | www.p7764.com | www.2018fh.com | www.321666.com | www.sb276.com | www.8494g.com | mgmvip688.com | v997c.com | pjhebei.com | 5856sss.com | sbd5551.com | hh38648.cc | 8294m.com | 0015pp.com | 8381qq.com | www.88266v.com | www.354177.com | www.609815.com | www.960106.com | www.1035i.com | www.53900j.com | www.390622.com | www.37377m.com | www.ee4625.com | www.7036ss.com | www.40598.com | www.18k0048.com | www.9737nn.com | www.twcp55.com | www.5504z.com | www.2945i.com | www.ns6677.com | www.49936.com | www.987111.com | www.5405006.com | www.27177c.com | www.x111888.com | www.yf2112.com | www.ttn88.com | www.vns4668.cc | www.1590mm.com | www.vv2649.com | www.553418.com | www.3170004.com | www.hqr66.com | www.048888.com | www.66632.com | www.wenetian.cc | www.bai5544.com | www.35252w.com | www.rycp156.com | www.38345g.com | www.3157c.com | www.10999k.com | www.4058vv.com | www.2000b.cc | www.8905m.com | www.97828j.vip | www.4331g.com | www.4323r.com | www.26878j.com | www.2350w.com | www.979816.com | www.629293.com | www.258015.com | df8n.com | 7720p.com | 70766622.com | 8438000.com | 86611f.com | vipvip1111.com | 033w.net | www.546993.com | www.8814b8.com | www.4449.cc | www.6003p.com | www.wnsr3526.com | www.50685a.com | www.fg9903.com | www.33598y.com | www.ct8844.com | www.364343.com | 50099n.com | 1213622.com | 9646d.com | 6118i.com | 99995156.com | www.00829t.com | www.67843.com | www.1168z.com | www.50685d.com | www.113179.com | www.544aa.cc | www.393890.com | 58xpj.cc | xinvip9.com | 82365b.com | 5804l.com | www.00829m.com | www.jh1188.com | www.bet91481.com | www.48330z.com | www.08588g.com | www.665478.com | 3678qq.com | 1654zz.com | 88347.com | www.033033j.com | www.626022.com | www.58665n.com | www.188611.com | www.9818u.cc | www.297277.com | 7196z.com | 9101909.com | 8901s.com | www.dy4411.com | www.081168.net | www.9895k.com | www.66621h.com | www.609816.com | 95gamevip4.com | 45637r.com | 1077uuu.com | www.09569o.com | www.c46.com | www.kj222888.com | www.c6186.com | z1777.com | js02749.com | w2306.com | www.11188807.com | www.47700.net | www.2221106.com | www.624377.com | 3122bb.com | 4036hh.com | www.hg00555.com | www.129786.com | www.1117795.com | www.2408a.com | 07qipai.cn | 60166yh.com | 4694z.com | www.505444.com | www.8883066.com | www.1368n.cc | 91019u.com | 30688x.com | www.6033o.com | www.0010013.com | www.yy888.cc | www.701549.com | biwei116.com | 50099l.com | www.6020200.com | www.biying920vip.com | www.39500c.com | www.60108i.com | p9601.com | www.k80282.com | www.1www.333777j.com | www.hg082.com | www.370933.com | 53262qq.com | 5756988.com | www.xn221.com | www.hd8671.com | www.335015.com | 6396k.com | www.56733g.com | www.5504o.com | www.50074f.com | bbxylqq.com | 3404i.cc | www.900671.com | www.4058jj.com | www.hx1162.com | 4812q.com | zhcp05.com | www.942232.com | www.954321d.com | www.201882.com | 39990066.com | www.966345.com | www.v01888.com | www.889938.com | 1669o.com | www.6033m.com | www.83568q.com | www.2373h.com | 1366y.com | 518cp5.com | www.6agcpw.com | www.8816t.com | b999.org | 2381fff.com | www.668cp44.com | www.1477w.com | 7681.com | 4630077.com | www.71071g.com | www.ch8977.com | 11005i.com | www.x32126.cc | www.c3410.com | www.534457.com | 4288z.com | www.4272000.com | www.win1237.com | 90307h.com | 1036898.com | www.zte111.com | www.2875w.com | 12742h.com | www.4644444.com | www.a.1308pj.com | www.394077.com | 78808h.com | www.27119.com | www.53900q.com | zxd914.com | www.s1043.com | www.178477.com | www.220716.com | 8977jj.com | www.307msc.com | www.ycp0.com | 23300f.com | www.9679p.com | www.7239k.com | 9103kk.com | www.hg6877.com | www.86339w.com | 1636005.com | 5443k.com | www.8473w.com | www.501251.com | 8003aa.com | www.9788t.com | www.976357.com | 23478222.com | www.444171.com | www.6832p.com | 63305m.com | www.rf0388.com | www.8667d.com | 22299vv.com | www.9679p.com | www.66376q.com | 168b1.com | www.pj6545.com | www.54400b.com | 188qq888.com | www.60168b.com | www.6364s.com | vic6308.com | www.27119.com | www.hf5886.com | 3568d.com | www.6787749.com | www.828521.com | 4647p.com | www.408477.com | www.310615.com | 3379zz.com | www.178633.com | 2998a.com | www.7669j.net | www.939509.com | p005.com | www.31229.com | www.996563.com | i8159.cc | www.00772s.com | www.39500u.com | 1408e.com | www.hg8884.com | 5802dd.com | www.cs505.com | www.c6386.com | 4809h.com | www.3116c.com | 500000599.com | www.xhtd4455.com | www.99638m.com | eee5682.com | www.4719aa.com | www.278206.com | 51335h.com | www.00mgm777.com | 51133hhh.com | www.xn229.com | www.452806.com | 88665004.com | www.37377n.com | cpyz6666.com | www.bai5544.com | www.151376.com | www.dfs788.com | www.84499r.com | ii4255.com | www.00618g.com | bet3659903.com | www.7025l.com | www.zcwf4.com | 67877.com | www.9187n.com | 91.ag | www.c53889.com | 396396a.com | www.hg7575.com | www.qml7.com | 096.com | www.68993232.com | 77ee940.com | www.80969c.com | 66300vip11.com | www.rf0388.com | www.424223.com | www.f67783.com | www.00840b.com | JS1388s.com | www.881543.com | 50099q.com | www.19019l.com | 6830.com | www.448809.com | www.235693.com | www.vnsr800.com | www.gai06.com | 4023v.com | www.57578h.com | 8522ssss.com | www.30393.com |