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

    Java設計模式(二) 工廠方法模式

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

    工廠方法模式解決的問題

    上文《簡單工廠模式不簡單》中提到,簡單工廠模式有如下缺點,而工廠方法模式可以解決這些問題

    • 由于工廠類集中了所有實例的創建邏輯,這就直接導致一旦這個工廠出了問題,所有的客戶端都會受到牽連。
    • 由于簡單工廠模式的產品是基于一個共同的抽象類或者接口,這樣一來,產品的種類增加的時候,即有不同的產品接口或者抽象類的時候,工廠類就需要判斷何時創建何種接口的產品,這就和創建何種種類的產品相互混淆在了一起,違背了單一職責原則,導致系統喪失靈活性和可維護性。
    • 簡單工廠模式違背了“開放-關閉原則”,因為當我們新增加一個產品的時候必須修改工廠類,相應的工廠類就需要重新編譯一遍。
    • 簡單工廠模式由于使用了靜態工廠方法,造成工廠角色無法形成基于繼承的等級結構。

    工廠方法模式

    工廠方法模式介紹

    工廠方法模式(Factory Method Pattern)又稱為工廠模式,也叫多態工廠模式或者虛擬構造器模式。在工廠方法模式中,工廠父類定義創建產品對象的公共接口,具體的工廠子類負責創建具體的產品對象。每一個工廠子類負責創建一種具體產品。

    工廠方法模式類圖

    工廠模式類圖如下 (點擊可查看大圖)
    Factory Method Pattern Class Diagram

    工廠方法模式角色劃分

    • 抽象產品(或者產品接口),如上圖中IUserDao
    • 具體產品,如上圖中的MySQLUserDao,PostgreSQLUserDao和OracleUserDao
    • 抽象工廠(或者工廠接口),如IFactory
    • 具體工廠,如MySQLFactory,PostgreSQLFactory和OracleFactory

    工廠方法模式使用方式

    如簡單工廠模式直接使用靜態工廠方法創建產品對象不同,在工廠方法,客戶端通過實例化具體的工廠類,并調用其創建實例接口創建具體產品類的實例。根據依賴倒置原則,具體工廠類的實例由工廠接口引用(客戶端依賴于抽象工廠而非具體工廠),具體產品的實例由產品接口引用(客戶端和工廠依賴于抽象產品而非具體產品)。具體調用代碼如下

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

    import com.jasongj.dao.IUserDao;
    import com.jasongj.factory.IDaoFactory;
    import com.jasongj.factory.MySQLDaoFactory;

    public class Client {

    public static void main(String[] args) {
    IDaoFactory factory = new MySQLDaoFactory();
    IUserDao userDao = factory.createUserDao();
    userDao.getUser("admin");

    }

    }

    工廠方法模式示例代碼

    本文所述工廠方法模式示例代碼可從作者Github下載

    工廠方法模式優點

    • 因為每個具體工廠類只負責創建產品,沒有簡單工廠中的邏輯判斷,因此符合單一職責原則。
    • 與簡單工廠模式不同,工廠方法并不使用靜態工廠方法,可以形成基于繼承的等級結構。
    • 新增一種產品時,只需要增加相應的具體產品類和相應的工廠子類即可,相比于簡單工廠模式需要修改判斷邏輯而言,工廠方法模式更符合開-閉原則。

    工廠方法模式缺點

    • 添加新產品時,除了增加新產品類外,還要提供與之對應的具體工廠類,系統類的個數將成對增加,在一定程度上增加了系統的復雜度,有更多的類需要編譯和運行,會給系統帶來一些額外的開銷。
    • 雖然保證了工廠方法內的對修改關閉,但對于使用工廠方法的類,如果要換用另外一種產品,仍然需要修改實例化的具體工廠。
    • 一個具體工廠只能創建一種具體產品

    簡單工廠模式與OOP原則

    已遵循的原則

    • 依賴倒置原則
    • 迪米特法則
    • 里氏替換原則
    • 接口隔離原則
    • 單一職責原則(每個工廠只負責創建自己的具體產品,沒有簡單工廠中的邏輯判斷)
    • 開閉原則(增加新的產品,不像簡單工廠那樣需要修改已有的工廠,而只需增加相應的具體工廠類)

    未遵循的原則

    • 開閉原則(雖然工廠對修改關閉了,但更換產品時,客戶代碼還是需要修改)

    Java設計模式系列

    郭俊 Jason wechat
    歡迎關注作者微信公眾號【大數據架構】
    您的贊賞將支持作者繼續原創分享
    速赢彩app 883399h.com | www.993572.com | 01234oo.com | www.cp009x.com | 7811aa.com | www.ggp.99233p.com | 199888.com | www.v2222.com | 4255a.com | www.ya2019p.com | 61324455.com | www.901031.com | www.hg3636.com | www.364141.com | www.0591sf.com | 59889z.com | www.808888j.com | 7893w9.com | www.0343q.com | 6245o.com | www.901527.com | www.993639.com | 5168dd.cc | www.net567.com | 6664553.com | www.26163n.com | www.80852.com | www.351957.com | www.799666s.com | bycai8.com | www.0194000.com | 500000354.com | www.645411.com | www.ms8873.com | 060ddd.com | www.w84w.com | 8036aa.com | www.qucp5.com | www.333133b.com | 3983.com | www.06386699.com | 500000744.com | www.703602.com | www.d88118.com | x88833.com | www.48330e.com | 22296cc.com | www.155782.com | www.fff3997.com | 3678yy.com | www.073wy.com | www.xhf5555.com | djbet.com | www.882918.com | 1079.cc | 4412.com | www.bwinyz50.com | 06006e.com | 2096p.com | www.00772x.com | 54241188.com | www.581166.com | www.hjdc2004.vip | fc37.com | 66300vip10.com | www.4521y.com | d8504.com | 2324rrr.com | www.zzjxyt.com | www.hg5155.com | y6840.com | www.77210l.com | www.55268pp.com | c388n.com | www.1368o.cc | www.xg189.com | 04666r.com | www.310295.com | www.356063.com | 131ccc.net | www.099816.com | www.7225z.com | 5443f.com | 77885002.com | www.86267w.com | www.amhg002.com | 8381d.com | www.33598s.com | www.xj2233.com | 7008590.com | www.230757.com | www.mgm868005.com | www.888vip5.com | 6033p.com | www.9205f.com | www.9920992.com | 39990044.com | 80567d.com | www.3126c.com | www.71071h.com | 500000576.com | 075yy.com | www.228128.com | www.063801v.com | 45637o.com | www.482770.com | www.686102c.com | www.yf88.cc | k9539.com | www.689253.com | www.60886e.com | www.0860k.com | 33318f.com | www.035069.com | www.7714b.com | www.js541.com | 23800a.com | 88850kk.com | www.558421.com | www.361148.com | www.88807k.com | 3467p.com | hg2017.cc | www.53531.cc | www.u3410.com | www.01018.cc | 4018i.com | 61652c.com | www.sjgc9.com | www.5700666.com | www.10050755.com | 83377l.com | 1094bo.com | www.bxcp4.com | www.00773z.com | www.903253.com | 2698e.com | 1634m.com | www.338995.com | www.95777w.com | www.0849.com | www.433msc.com | kxmapp555.com | 3544t.com | www.371e.cc | www.k69096.com | www.25673e.com | 8159ee.cc | 5855pp.com | www.354977.com | www.50064f.com | www.71071r.com | www.17977.com | 8898111.com | 3559z.com | bf5988.com | www.622703.com | www.99677d.com | www.00772x.com | www.4797.com | www.28758w.com | 40661115.com | 6667009.com | www.891079.com | www.js02348.com | www.c44vv.com | www.bmw0055.com | 3890n.com | 1407r.com | www.431776.com | www.66376j.com | www.bwinyz44.com | www.443887.com | www.mh3888.com | 70118p.com | 1634z.com | gc002.cc | www.396477.com | www.99638g.com | www.xpj3133.net | www.c688.com | www.jszg22.com | www.6668.cc | 9068v.com | 0234c.com | gc922.com | www.366292.com | www.983112.com | www.66652c.com | www.hg9388.xyz | www.77731y.com | www.b7276.com | zhcp23.com | 55331i.com | 16340001.com | 007369.com | 4546119.com | www.029079.com | www.616097.com | www.5484e.com | www.4809u.com | www.pj88e.com | www.20452.net | www.2846u.com | www.zun371.com | 37570t.com | 20160913.pw | 33382m.com | xpj5004.com | 3807g.com | 5350x.com | 22ff940.com | 55984d.com | lixingyoulun.com | 3122h.com | 48586.com | 49973.com | www.085533.com | www.209713.com | www.309877.com | www.444072.com | www.647377.com | www.629683.com | www.655021.com | www.616383.com | www.514977.com | www.sxyl9.com | www.gocp6.com | www.055e.cc | www.c9218.com | www.tcsj.com | www.655013.com | www.585751.com | www.566011.com | www.380068.com | www.153880.com | pj600.cc | 818555.vip | 88850dd.com | 7702666.com | 3003822.com | 4556y.com | 40033dd.com | 3467k.com | 70118q.com | oo56988.com | 51200nn.com | www.5170.com | www.1919sun.com | www.221155.com | www.8888855555.com | www.vip36059.com | www.058767.com | www.890555.com | www.998948.com | www.cn365g.com | www.658060.com | www.0967005.com | www.ylylc00.com | www.633547.com | www.26299y.com | www.ct6679.com | www.910576.com | www.803875.com | www.524077.com | www.029509.com | 4880p.com | 582466.com | 55967t.com | 9958911.com | 58339.com | www.76543c.com | www.66930000.com | www.542suncity.com | www.9737ff.com | www.9971002.com | www.9478u.com | www.775740.com | www.230757.com | 7799833.com | 1104014.com | 4255ll.com | 3846ll.com | lhc958999.com | www.7111t.com | www.d4042.com | www.2021o.com | www.ra7909.com | www.2632r.com | www.338017.com | 1669u.com | w4255.com | 2649ii.com | www.tyc717.com | www.85857n.com | www.403678.com | www.8039j.com | www.793500.com | 1294o.cc | 3559eee.com | 4123ll.com | www.778l.com | www.2000d.cc | www.22303.cc | 7686p.com | 9646y.com | 50028822.com | www.hg2199.com | www.00773h.com | www.6653c.com | www.332930.com | 1634c.com | 11jj8331.com | www.vinisi06.com | www.cp88168.xn | www.379801.com | www.596960.com | 35442333.com | 41669vip.com | www.1018111.com | www.hg8vv.com | www.29277x.com | 776314.com | 2685js.com | 6220j.com | www.22js66.com | www.0096aa.com | www.077wy.com | 0747qq.com | hhh5657.com | www.xpj3378.com | www.06617b.com | www.61233p.com | www.9570115.com | www.50811.com | www.339531.com | 2146o.com | 4422mmmm.com | www.yh95678.com | www.16065b.com | www.118428.com | 8037aaa.com | 40660007.com | www.4972h.com | www.89894y.com | 0004661.com | hbs107.com | www.7636.com | www.bmw8066.com | www.540977.com | 11018j.com | www.hhh6666.com | www.7945k.com | www.135.ag | www.398846.com | 3844ee.com | www.pj9898.com | www.9b002.com | www.fyyy2.com | 41163333.com | 28455.com | www.bet91488.com | www.701775.com | 4270ll.com | www.hj200766.com | www.540640a.com | www.684244.com | shen5511.com | www.1389u.com | www.3337795.com | www.506969.com | 8159d.cc | www.hg3301.com | www.xhg338.Com | 5443hh.com | 11vn77.com | www.2hg6668.com | www.681770.com | 14683344.com | www.6618js.com | www.83993j.com | c89fh55.com | www.am22222.com | www.14168f.com | www.348477.com | 9539p.com | www.hg8197.com | www.7714x.com | r4255.com | www.a111.cc | www.30350s.com | www.083026.com | 5360vv.com | www.b92776.com | www.530391.com | 3482p.com | www.55526u.com | www.770951.com | FuXingCai.com | www.js6767r.com | www.aa3479.com | 67888u.cc | www.77852.com | www.80065p.com | 38244t.com | www.vvv2205.com | www.80065n.com | 7742ii.com | www.3939mmm.com | www.8499l.com | 1458s.com | www.esb116.net | www.960106.com | 3513006.com | www.20199vv.com | www.403489.com | 77882007.com | www.469705.com | em999.net | 78111133.com | www.455263.com | 365102b.com | www.kk7788.com | www.900845.com | 3685n.com | www.5504y.com | www.275073.com | 123456cc.cc | www.86339u.com | 0906kk.com | www.572444.com | www.5522a.cc | n1915n.com | www.9737jj.me | 2381j.com | www.hg2729.com | www.39500g.com | 4288x.com | www.518737.com | www.61655u.com | ybcai.com | www.065835.com | 58802o.com | www.3569c.com | www.915696.com | gao482.com | www.9187o.com | j3.cc | www.hj829.com | www.161763.com | www.88315888.com | www.66082.cc | 67890ccc.com | www.n32031.com | 6423l.com | www.999497.com | www.770935.com | 56988gg.com | www.js20016.com | ii4119.com | www.p69096.com | 6150v.com | www.967808.com | 29918bb.com | www.32666f.com | www.739908.com | 99663885.com | www.21202l.com | 80850w.com | www.40339.com | 2js345.com | www.85857q.com | 3379g.com | www.779333.com | www.66652e.com | www.2846c.com | www.708609.com | www.jsw66.cc | www.hjin7.com | 22556t.com | www.21202l.com | 6245y.com | www.81678c.com | 0765211.com | www.yun870.com | js58333.com | www.v98478.com | 5588hhgz.com | www.gx58qp.com | 3300hhgz.com | www.918.com | qpby2299.com | www.2418d.com | tt6830.com | www.150158.com | 73055u.com | www.hr1811.com | rrr4255.com | www.1358004.com | u7742.com | www.910057.com | hga020.com | www.71399t.com | 3379l.com | www.68682t.com | jinlong12.com | www.055r.cc | www.0686333.com | www.682880.com | www.655666d.com | www.057452.com | www.e3838.com | 99bjlxz.com | www.ks4499.com | zxd2229.com | www.0077xpj.net | 57bet.cc | www.hr1822.com | 01365.ag | www.1368i.cc | www.bet365602.com | www.244646.com | www.tyc658.com | 00dd8331.com | www.04bet8.com | 223739.com | www.4331u.com | 3844d.com | www.927986.com | www.y27229.com | www.335284.com | www.70545d.com | 8381ss.com | www.469702.com | 2490i.com | www.5086k.com | www.365109e.com | www.34788u.com | www.450880.com | 50000966.com | www.87708c.com | 279009.com | www.00fzc.com | www.88807w.com | 1105596.com | www.80188h.com | 25288o.com | www.cly3.com | www.33355508.com | 66876g.com | www.hg8xx.com | 563567.com | www.fyyy8.com | www.33377799.com | 15a21.net | www.81608f.com | 6423w.com | www.524077.com | www.548058.com | y1458.com | www.pjzxyl.com | www.3371777.com | 1314.xw252.com | www.8473w.com | b5957.com | www.901381.com | www.353303.com | 0234t.com | www.21202s.com | www.3643m.com | 8766549.com | www.win1235.com | www.7009844.com | 66876s.com | www.40288k.com | 22556r.com | www.106216.com | www.4136p.com | 98955p.com | www.548912.com | www.c558.cc | 55797a.com | www.739908.com | www.55526l.com | 111ctx.com | www.786126.com | www.pm48.com | 459845.com | www.669268.com | www.85857i.com | hjdc789.com | www.506237.com | www.4963h.com | emr9836.com | www.095335.com | www.91779h.com | 1479u.com | 55967n.com | www.2418e.com | www.09569p.com | js03.app | www.8667v.com | www.180786.com | pj88nn.com | www.631069.com | www.9737oo.com | feicai0393.com | js14c.com | www.0601d.com | www.q13608.com | 3178811.com | www.910355.com | www.bd2019e.com | hcp6666.com | 33778016.com | www.28891f.com | www.18373876153.com | 01234i.com | www.876747.com | www.71071d.com | feicai0594.com | xpjdc.tw | www.54400n.com | www.853789.com | wnsbc.com | 0008c.com | www.48330u.com | www.88837p.com | 31553a.com | www.510830.com | www.c063801.com | www.pz015.com | 00mm8331.com | www.799657.com | www.p69096.com | www.414133.com | 294546.com | www.602917.com | www.91779s.com | www.966345.com | 66300.com | www.349577.com | www.56011a.com | www.32666f.com | 3614f.com | 63960000.com | www.21365.com | www.www-50007000.com | 3379h.com | 0015kk.com | www.cp778.com | www.357107.com | www.7830r.com | 4288l.com | 1697.com | www.16878q.com | www.77699.com? | www.9599677.net | 4809g.com | www.187132.com | www.188611.com | www.88807e.com | 3513006.com | pj677p.com | www.08408.com | www.00772u.com | www.a4737.com | 00882007.com | 116005.com | www.605999aa.com | www.wns123a.com | www.532156.com | 2767d.com | xpj764.cn | www.178952.com | www.bet353654.com | www.gd68199.com | www.y32126.cc | 40033k.com | 33115p.com | www.925771.com | www.586806.com | www.rb362.com | www.88hggj.com | 4152i.com | 51133b.com | www.830523.com | www.4520033.com | www.hjcp1.com | www.tyc775.com | 4448449.com | 500000631.com | www.361929.com | www.83033h.com | www.38138o.com | www.j359.com | 365vip600.net | 4488h.com | 667766r.com | www.665992.com | www.rfdc02.com | www.9737pp.com | www.m8018.com | 91019i.net | 3967h.com | 4052n.com | www.86267e.com | www.qucw7.com | www.tai1177.com | www.4694j.com | www.3170001.com | www.un3355.com | 55331ff.com | 6195jp.com | www.357411.com | www.60339.cc | www.8905w.com | www.801917.com | www.006072.com | www.js222js.com | 9958966.com | 1813l.com | 1366y.com | www.88065e.com | www.am8080.com | www.7239b.com | www.07679x.com | www.hg8127.com | www.2846z.com | 889a.net | 2jsttt.com | nn1915.com | bwin8r.com | yh888s.com | www.303204.com | www.fyyy6.com | www.87668z.com | www.33ok33.com | www.80969c.com | www.771671a.com | www.sky2888.com | www.hu888.com | 3685m.com | 3435c.com | 567940.com | 3473m.com | ffff0000.com | www.41518b.com | www.550424.com | www.hj7987.com | www.15355f.com | www.6889782.com | www.w84i.com | www.8886hj.com | www.3846t.com | www.868681.com | www.111021.com | www.338830.com | www.vns4858.com | 2267k.com | 61329977.com | 70118f.com | 66681p.com | qqq01234.com | tzvip2020.com | qpby.com | zun026.com | jixiang8.com | 56988pp.com | 00q124.com | 55899p.com | ra6616.com | 88904141.com | www.32123i.com | www.197560.com | www.317990.com | www.544087.com | www.582993.com | www.rcw8855.com | www.975627.com | www.fl62.com | www.55fzc.com | www.3478a.cc | www.5441z.com | www.18399.com | www.9478w.com | www.9356p.com | www.3126r.com | www.7782d.com | www.5522j.cc | www.88fzc.com | www.m.55xj.vip | www.qmkl6.com | www.961287.com | www.849689.com | www.679822.com | www.545680.com | www.376387.com | www.217650.com | www.033916.com | 3648.net | 5002z.com | hd229.cc | 3189x.com | js14.com | b40033.com | eee67890.com | w99345.am | jsjlb11.com | 7335e.com | www.7720r.com | www.msc77.la | www.248247.com | www.xn221.com | www.x948x.com | www.00773y.com | www.s2894.com | www.7340111.com | www.7714i.com | www.08588d.com | www.sygj1.com | www.548277.com | www.34788u.com | feicai0378.com | 4116i.com | 566777h.com | 7720v.com | 3844n.com | www.6xinhao.com | www.914511.com | www.497789.com | www.00773d.com | www.yz7704.com | www.4323b.com | www.055i.cc | www.506731.com | 6700000.cc | zhifu158.netqm118.cn | www5682.com | rr00558.com | 4023j.com | www.agg033.com | www.hg128w.com | www.370193.com | www.4546400.com | www.388603.com | www.hqcp1.com | www.163025.com | jjj5144.com | 4775566.com | 6245b.com | www.boma0194.com | www.bs9088.com | www.4058qq.com | www.0601w.com | www.964688.com | 1483jj.com | L8520.com | 70118m.com | www.56733z.com | www.3775799.com | www.38345l.com | www.4521k.com | www.87668z.com | www.715920.com | 835.cc | 8547p.com | 3178u.com | www.3643x.com | www.cp67774.com | www.rrqp000.com | www.cly9.com | w0000.vip | 547856.com | 2127ee.com | www.54776.com | www.7335xx.com | www.4196b.com | www.68689g.com | www.444237.com | feicai0551.com | 88949000.com | www.1113939.com | www.yh98mm.com | www.m94600.com | www.hx6691.com | 218.com | 3513001.com | 7168813.com | www.889123.com | www.4156.com | www.ac9922.com | 2820t.com | 4165s.com | www.355325.com | www.9925546.com | www.16065q.com | www.506232.com | 88535o.com | yhw4.cc | www.pj30352.com | www.78680k.com | www.987581.com | 2618i.com | 33992007.com | www.xg0088z.com | www.06820h.com | www.2109k.com | 4195d.com | 53059.com | www.xin888111.com | www.v88131.com | www.8667e.com | dzj0666.com | 7003uu.com | www.7711sb.com | www.377666b.com | www.cb7188.com | 9479c3.com | 4023g.com | www.350558.com | www.0343d.com | www.389544.com | 6002t.com | www.bet056365.com | www.tycyl.com | www.89939.cc | 9h2.com | 50067z.com | www.800hm.com | www.hb598.net | www.51515z.com | 3568j.com | www.88807w.com | www.w84t.com | www.500106.com | 00774ll.com | www.28758t.com | www.3066vv.com | www.806875.com | 9694.com | www.tushan168.com | www.4828228.com | www.859509.com | 3846aa.com | www.888ldz.com | www.xpj778888.com | www.732779.com | 8547p.com | www.365815g.com | www.0622yyy.com | www.202403.com | gg40033.com | www.hgyz88888.com | www.5856866.com | 105boo.com | 85722.com | www.9611ll.com | www.3478l.cc | 18438hd.com | www.8494e.com | www.aaa2848.com | www.231844.com | x6982.com | www.xg289.net | www.51331f.com | luoma2008.com | www.81866q.com | www.xpj16685.com | www.407873.com | 34z35.com | www.4965a.com | www.26299g.com | 1750.com | www.j8877.com | www.9187s.com | yd11666.com | 500000579.com | www.78888js.com | www.560702.com | m01234.com | www.727000e.com | www.2373j.com | 8827ttt.com | www.huangguan1088.com | www.0270w.com | feicai0790.com | www.266688.com | www.3566.com | zhcp22.com | www.hhhggg.com | www.amjs779.com | 4638866.com | www.5559xj.com | www.087b.com | byj10.com | www.kim111.com | www.zzyl69.com | ude185.com | www.ag88100.com | www.55717k.com | 5906vv.com | www.2090900.com | www.871453.com | 32355aa.com | www.vns9603.com | www.68682q.com | zhcp41.com | www.349459.com | www.ybao6.com | 3435q.com | www.29msxfptc.com | www.551549.com | 68228o.com | www.10999f.com | 60959999.com | www.vn686.com | www.68993258.com | 76181678.com | www.5254y.com | www.qucw4.com | 66300vip20.com | www.jz30280.com | www.83993i.com | 1466m.com | www.959595.org | 9411qqq.com | www.hg3098.com | www.810575.com | 11442007.com | www.9978bb.com | xin98886.com | www.m222999.com | www.1368w.cc | 51335f.com | www.4996lj.com | 365288.bet | www.4938c.com | www.5091v.com | 2211365.com | www.55060a.com | 5858jsc.com | www.4972mm.com | www.3126r.com | bb32355.com | www.mgm868004.com | 98955h.com | www.279765.com | www.952583.com | 80368ll.com | www.778305.com | 3950z.com | www.42423499.com | www.038079.com | www.85770v.com | www.7782a.com | 552325.com | www.86339z.com | 267365.com | www.q4042.com | hg77701.com | www.3459d.com | www.cly6.com | 256777n.com | www.179101.com | b82365.com | www.55070q.com | 118888a.com | www.7878788.com | www.188937.com | www.v16677.com | www.hjin5.com | 3379cc.com | www.yh08.com | 8159dd.cc | www.40288f.com | 1483pp.com | www.pp55826.com | 9464550.com | www.xj666s.com |