python面試學(xué)習(xí)路線-10.設(shè)計(jì)模式

10.設(shè)計(jì)模式

1.精通設(shè)計(jì)模式

1.六大設(shè)計(jì)原則解析, OO的五大原則,具現(xiàn)化后就是具體的設(shè)計(jì)模式

  1. 單一職責(zé)原則(SRP): 就一個(gè)類(lèi)而言猛蔽,應(yīng)該僅有一個(gè)引起它變化的原因, 只專(zhuān)心做一件事

    1. 含義
      1. 該原則提出對(duì)象不應(yīng)該承擔(dān)太多職責(zé)倍奢,如果一個(gè)對(duì)象承擔(dān)了太多的職責(zé)魏颓,至少存在以下兩個(gè)缺點(diǎn):
        1. 一個(gè)職責(zé)的變化可能會(huì)削弱或者抑制這個(gè)類(lèi)實(shí)現(xiàn)其他職責(zé)的能力;
        2. 當(dāng)客戶(hù)端需要該對(duì)象的某一個(gè)職責(zé)時(shí)秩伞,不得不將其他不需要的職責(zé)全都包含進(jìn)來(lái)摄悯,從而造成冗余代碼或代碼的浪費(fèi)峡竣。
    2. 作用
      1. 單一職責(zé)原則的核心就是控制類(lèi)的粒度大小、將對(duì)象解耦凛澎、提高其內(nèi)聚性泌绣。如果遵循單一職責(zé)原則將有以下優(yōu)點(diǎn)。
        1. 降低類(lèi)的復(fù)雜度预厌。一個(gè)類(lèi)只負(fù)責(zé)一項(xiàng)職責(zé),其邏輯肯定要比負(fù)責(zé)多項(xiàng)職責(zé)簡(jiǎn)單得多元媚。
        2. 提高類(lèi)的可讀性轧叽。復(fù)雜性降低,自然其可讀性會(huì)提高刊棕。
        3. 提高系統(tǒng)的可維護(hù)性炭晒。可讀性提高甥角,那自然更容易維護(hù)了网严。
        4. 變更引起的風(fēng)險(xiǎn)降低。變更是必然的嗤无,如果單一職責(zé)原則遵守得好震束,當(dāng)修改一個(gè)功能時(shí),可以顯著降低對(duì)其他功能的影響当犯。
    3. 實(shí)現(xiàn)方法
      1. 單一職責(zé)原則是最簡(jiǎn)單但又最難運(yùn)用的原則垢村,需要設(shè)計(jì)人員發(fā)現(xiàn)類(lèi)的不同職責(zé)并將其分離,再封裝到不同的類(lèi)或模塊中嚎卫。而發(fā)現(xiàn)類(lèi)的多重職責(zé)需要設(shè)計(jì)人員具有較強(qiáng)的分析設(shè)計(jì)能力和相關(guān)重構(gòu)經(jīng)驗(yàn)
  2. 開(kāi)放封閉原則(開(kāi)閉原則OCP): 對(duì)變更關(guān)閉,對(duì)擴(kuò)展開(kāi)放. 對(duì)頻繁變化的那些部分做出抽象,符合重用的特性

    1. 含義

      1. 當(dāng)應(yīng)用的需求改變時(shí)嘉栓,在不修改軟件實(shí)體的源代碼或者二進(jìn)制代碼的前提下,可以擴(kuò)展模塊的功能拓诸,使其滿(mǎn)足新的需求侵佃。
    2. 作用

      開(kāi)閉原則是面向?qū)ο蟪绦蛟O(shè)計(jì)的終極目標(biāo),它使軟件實(shí)體擁有一定的適應(yīng)性和靈活性的同時(shí)具備穩(wěn)定性和延續(xù)性奠支。具體來(lái)說(shuō)馋辈,其作用如下。

      1. 對(duì)軟件測(cè)試的影響

      軟件遵守開(kāi)閉原則的話胚宦,軟件測(cè)試時(shí)只需要對(duì)擴(kuò)展的代碼進(jìn)行測(cè)試就可以了首有,因?yàn)樵械臏y(cè)試代碼仍然能夠正常運(yùn)行。

      1. 可以提高代碼的可復(fù)用性

      粒度越小枢劝,被復(fù)用的可能性就越大井联;在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,根據(jù)原子和抽象編程可以提高代碼的可復(fù)用性您旁。

      1. 可以提高軟件的可維護(hù)性

      遵守開(kāi)閉原則的軟件烙常,其穩(wěn)定性高和延續(xù)性強(qiáng),從而易于擴(kuò)展和維護(hù)。

    3. 實(shí)現(xiàn)方法

      可以通過(guò)“抽象約束蚕脏、封裝變化”來(lái)實(shí)現(xiàn)開(kāi)閉原則侦副,即通過(guò)接口或者抽象類(lèi)為軟件實(shí)體定義一個(gè)相對(duì)穩(wěn)定的抽象層,而將相同的可變因素封裝在相同的具體實(shí)現(xiàn)類(lèi)中驼鞭。

  3. **里式替換原則(LSP): **

    1. 含義
      1. 里氏替換原則主要闡述了有關(guān)繼承的一些原則秦驯,也就是什么時(shí)候應(yīng)該使用繼承,什么時(shí)候不應(yīng)該使用繼承挣棕,以及其中蘊(yùn)含的原理译隘。里氏替換原是繼承復(fù)用的基礎(chǔ),它反映了基類(lèi)與子類(lèi)之間的關(guān)系洛心,是對(duì)開(kāi)閉原則的補(bǔ)充固耘,是對(duì)實(shí)現(xiàn)抽象化的具體步驟的規(guī)范
    2. 作用
      1. 里氏替換原則是實(shí)現(xiàn)開(kāi)閉原則的重要方式之一。
      2. 它克服了繼承中重寫(xiě)父類(lèi)造成的可復(fù)用性變差的缺點(diǎn)词身。
      3. 它是動(dòng)作正確性的保證厅目。即類(lèi)的擴(kuò)展不會(huì)給已有的系統(tǒng)引入新的錯(cuò)誤,降低了代碼出錯(cuò)的可能性法严。
    3. 實(shí)現(xiàn)方法 --鳥(niǎo)基類(lèi)與企鵝子類(lèi)
      1. 子類(lèi)可以擴(kuò)展父類(lèi)的功能, 但不能改變父類(lèi)原有的功能,子類(lèi)可以實(shí)現(xiàn)父類(lèi)的抽象方法,但是不能覆蓋父類(lèi)的非抽象方法.父類(lèi)的已經(jīng)實(shí)現(xiàn)的方法,不能重寫(xiě)
      2. 子類(lèi)中可以增加自己特有的方法,擴(kuò)展功能就另寫(xiě)一個(gè)方法
      3. 當(dāng)子類(lèi)一定要覆蓋或?qū)崿F(xiàn)父類(lèi)的方法時(shí),方法的前置條件(即方法的形參)要比父類(lèi)方法的輸入?yún)?shù)更寬松
  4. **依賴(lài)倒置原則(DIP): **

    1. 含義

      1. 高層模塊不應(yīng)該依賴(lài)低層模塊损敷,兩者都應(yīng)該依賴(lài)其抽象;抽象不應(yīng)該依賴(lài)細(xì)節(jié)渐夸,細(xì)節(jié)應(yīng)該依賴(lài)抽象
      2. 其核心思想是:要面向接口編程嗤锉,不要面向?qū)崿F(xiàn)編程。
      3. 使用接口或者抽象類(lèi)的目的是制定好規(guī)范和契約墓塌,而不去涉及任何具體的操作瘟忱,把展現(xiàn)細(xì)節(jié)的任務(wù)交給它們的實(shí)現(xiàn)類(lèi)去完成。
    2. 作用

      1. 依賴(lài)倒置原則可以降低類(lèi)間的耦合性苫幢。
      2. 依賴(lài)倒置原則可以提高系統(tǒng)的穩(wěn)定性访诱。
      3. 依賴(lài)倒置原則可以減少并行開(kāi)發(fā)引起的風(fēng)險(xiǎn)。
      4. 依賴(lài)倒置原則可以提高代碼的可讀性和可維護(hù)性韩肝。
    3. 實(shí)現(xiàn)方法

      (自己的理解:父類(lèi)定義抽象方法,子類(lèi)去實(shí)現(xiàn)方法細(xì)節(jié),實(shí)現(xiàn)類(lèi)的方法定義里用父類(lèi)的實(shí)例做為參數(shù),實(shí)例化實(shí)現(xiàn)類(lèi)的時(shí)候根據(jù)傳入的不同的子類(lèi)實(shí)例從而省去在實(shí)現(xiàn)類(lèi)方法定義時(shí)的大量判斷,這樣上層類(lèi)不依賴(lài)底層類(lèi))

      1. 每個(gè)類(lèi)盡量提供接口或抽象類(lèi)触菜,或者兩者都具備。
      2. 變量的聲明類(lèi)型盡量是接口或者是抽象類(lèi)哀峻。
      3. 任何類(lèi)都不應(yīng)該從具體類(lèi)派生涡相。
      4. 使用繼承時(shí)盡量遵循里氏替換原則。
  5. 接口隔離原則(ISP):

    1. 含義

      1. 要為各個(gè)類(lèi)建立它們需要的專(zhuān)用接口剩蟀,而不要試圖去建立一個(gè)很龐大的接口供所有依賴(lài)它的類(lèi)去調(diào)用
      2. 接口隔離原則和單一職責(zé)都是為了提高類(lèi)的內(nèi)聚性催蝗、降低它們之間的耦合性,體現(xiàn)了封裝的思想育特,但兩者是不同的:
        • 單一職責(zé)原則注重的是職責(zé)丙号,而接口隔離原則注重的是對(duì)接口依賴(lài)的隔離。
        • 單一職責(zé)原則主要是約束類(lèi),它針對(duì)的是程序中的實(shí)現(xiàn)和細(xì)節(jié)犬缨;接口隔離原則主要約束接口喳魏,主要針對(duì)抽象和程序整體框架的構(gòu)建。
    2. 作用

      1. 將臃腫龐大的接口分解為多個(gè)粒度小的接口怀薛,可以預(yù)防外來(lái)變更的擴(kuò)散刺彩,提高系統(tǒng)的靈活性和可維護(hù)性。
      2. 接口隔離提高了系統(tǒng)的內(nèi)聚性枝恋,減少了對(duì)外交互迂苛,降低了系統(tǒng)的耦合性。
      3. 如果接口的粒度大小定義合理鼓择,能夠保證系統(tǒng)的穩(wěn)定性;但是就漾,如果定義過(guò)小呐能,則會(huì)造成接口數(shù)量過(guò)多,使設(shè)計(jì)復(fù)雜化抑堡;如果定義太大摆出,靈活性降低,無(wú)法提供定制服務(wù)首妖,給整體項(xiàng)目帶來(lái)無(wú)法預(yù)料的風(fēng)險(xiǎn)偎漫。
      4. 使用多個(gè)專(zhuān)門(mén)的接口還能夠體現(xiàn)對(duì)象的層次,因?yàn)榭梢酝ㄟ^(guò)接口的繼承有缆,實(shí)現(xiàn)對(duì)總接口的定義象踊。
      5. 能減少項(xiàng)目工程中的代碼冗余。過(guò)大的大接口里面通常放置許多不用的方法棚壁,當(dāng)實(shí)現(xiàn)這個(gè)接口的時(shí)候杯矩,被迫設(shè)計(jì)冗余的代碼。
    3. 實(shí)現(xiàn)方法

      (抽象來(lái)說(shuō):使用多個(gè)接口替換一個(gè)接口,舉例:接口相當(dāng)于劇本中一個(gè)角色,由哪個(gè)演員來(lái)演相當(dāng)于接口的實(shí)現(xiàn),針對(duì)于不同的客戶(hù)端.具體來(lái)說(shuō):把一個(gè)父類(lèi)的多個(gè)方法,拆成多個(gè)父類(lèi)的方法,子類(lèi)去繼承不同的父類(lèi),而不必實(shí)現(xiàn)無(wú)用的父類(lèi)方法,實(shí)現(xiàn)類(lèi)把父類(lèi)的實(shí)例作為參數(shù)調(diào)用)

      • 接口盡量小袖外,但是要有限度史隆。一個(gè)接口只服務(wù)于一個(gè)子模塊或業(yè)務(wù)邏輯。
      • 為依賴(lài)接口的類(lèi)定制服務(wù)曼验。只提供調(diào)用者需要的方法泌射,屏蔽不需要的方法。
      • 了解環(huán)境鬓照,拒絕盲從熔酷。每個(gè)項(xiàng)目或產(chǎn)品都有選定的環(huán)境因素,環(huán)境不同颖杏,接口拆分的標(biāo)準(zhǔn)就不同深入了解業(yè)務(wù)邏輯纯陨。
      • 提高內(nèi)聚,減少對(duì)外交互。使接口用最少的方法去完成最多的事情
  6. 迪米特法則原則(LoD 最少知識(shí)原則):

    1. 含義

      1. 只與你的直接朋友交談翼抠,不跟“陌生人”說(shuō)話(Talk only to your immediate friends and not to strangers)咙轩。其含義是:如果兩個(gè)軟件實(shí)體無(wú)須直接通信,那么就不應(yīng)當(dāng)發(fā)生直接的相互調(diào)用阴颖,可以通過(guò)第三方轉(zhuǎn)發(fā)該調(diào)用活喊。其目的是降低類(lèi)之間的耦合度,提高模塊的相對(duì)獨(dú)立性量愧。
      2. 迪米特法則中的“朋友”是指:當(dāng)前對(duì)象本身钾菊、當(dāng)前對(duì)象的成員對(duì)象、當(dāng)前對(duì)象所創(chuàng)建的對(duì)象偎肃、當(dāng)前對(duì)象的方法參數(shù)等煞烫,這些對(duì)象同當(dāng)前對(duì)象存在關(guān)聯(lián)、聚合或組合關(guān)系累颂,可以直接訪問(wèn)這些對(duì)象的方法滞详。
    2. 作用

      1. 降低了類(lèi)之間的耦合度,提高了模塊的相對(duì)獨(dú)立性紊馏。
      2. 由于親合度降低料饥,從而提高了類(lèi)的可復(fù)用率和系統(tǒng)的擴(kuò)展性
    3. 實(shí)現(xiàn)方法

      (子類(lèi)或者實(shí)現(xiàn)類(lèi)如果需要引用多個(gè)其他類(lèi), 找出類(lèi)之間的引用關(guān)系,把有依賴(lài)關(guān)系的類(lèi)減少到最小的依賴(lài),然后層層引用)

      1. 從依賴(lài)者的角度來(lái)說(shuō),只依賴(lài)應(yīng)該依賴(lài)的對(duì)象朱监。
      2. 從被依賴(lài)者的角度說(shuō)岸啡,只暴露應(yīng)該暴露的方法。
    4. 注意

      1. 在類(lèi)的劃分上赫编,應(yīng)該創(chuàng)建弱耦合的類(lèi)巡蘸。類(lèi)與類(lèi)之間的耦合越弱,就越有利于實(shí)現(xiàn)可復(fù)用的目標(biāo)擂送。
      2. 在類(lèi)的結(jié)構(gòu)設(shè)計(jì)上赡若,盡量降低類(lèi)成員的訪問(wèn)權(quán)限。
      3. 在類(lèi)的設(shè)計(jì)上团甲,優(yōu)先考慮將一個(gè)類(lèi)設(shè)置成不變類(lèi)逾冬。
      4. 在對(duì)其他類(lèi)的引用上,將引用其他對(duì)象的次數(shù)降到最低躺苦。
      5. 不暴露類(lèi)的屬性成員身腻,而應(yīng)該提供相應(yīng)的訪問(wèn)器(set 和 get 方法)。
      6. 謹(jǐn)慎使用序列化(Serializable)功能

2.常用設(shè)計(jì)思想

  1. 控制反轉(zhuǎn)(IoC):是說(shuō)創(chuàng)建對(duì)象的控制權(quán)進(jìn)行轉(zhuǎn)移匹厘,以前創(chuàng)建對(duì)象的主動(dòng)權(quán)和創(chuàng)建時(shí)機(jī)是由自己把控的嘀趟,而現(xiàn)在這種權(quán)力轉(zhuǎn)移到第三方
  2. 依賴(lài)注入(DI):在系統(tǒng)運(yùn)行中,動(dòng)態(tài)的向某個(gè)對(duì)象提供它所需要的其他對(duì)象愈诚。這一點(diǎn)是通過(guò)DI(Dependency Injection她按,依賴(lài)注入)來(lái)實(shí)現(xiàn)的

3.面向過(guò)程與對(duì)象的區(qū)別

  1. 面向過(guò)程的開(kāi)發(fā)牛隅,上層調(diào)用下層,上層依賴(lài)于下層酌泰,當(dāng)下層劇烈變動(dòng)時(shí)上層也要跟著變動(dòng)媒佣,這就會(huì)導(dǎo)致模塊的復(fù)用性降低而且大大提高了開(kāi)發(fā)的成本。
  2. 面向?qū)ο蟮拈_(kāi)發(fā)很好的解決了這個(gè)問(wèn)題陵刹,一般情況下抽象的變化概率很小默伍,讓用戶(hù)程序依賴(lài)于抽象,實(shí)現(xiàn)的細(xì)節(jié)也依賴(lài)于抽象衰琐。即使實(shí)現(xiàn)細(xì)節(jié)不斷變動(dòng)也糊,只要抽象不變,客戶(hù)程序就不需要變化羡宙。這大大降低了客戶(hù)程序與實(shí)現(xiàn)細(xì)節(jié)的耦合度

4.介紹23種設(shè)計(jì)模式以作了解

設(shè)計(jì)模式的本質(zhì)是面向?qū)ο笤O(shè)計(jì)原則的實(shí)際運(yùn)用狸剃,是對(duì)類(lèi)的封裝性、繼承性和多態(tài)性以及類(lèi)的關(guān)聯(lián)關(guān)系和組合關(guān)系的充分理解狗热。正確使用設(shè)計(jì)模式具有以下優(yōu)點(diǎn)捕捂。

  • 可以提高程序員的思維能力、編程能力和設(shè)計(jì)能力斗搞。
  • 使程序設(shè)計(jì)更加標(biāo)準(zhǔn)化、代碼編制更加工程化慷妙,使軟件開(kāi)發(fā)效率大大提高僻焚,從而縮短軟件的開(kāi)發(fā)周期。
  • 使設(shè)計(jì)的代碼可重用性高膝擂、可讀性強(qiáng)虑啤、可靠性高、靈活性好架馋、可維護(hù)性強(qiáng)狞山。
范圍\目的 創(chuàng)建型模式 結(jié)構(gòu)型模式 行為型模式
類(lèi)模式 工廠方法(4種) (類(lèi))適配器(7種) 模板方法、解釋器(9種)
對(duì)象模式 單例 代理 策略
原型 (對(duì)象)適配器 命令
抽象工廠 橋接 職責(zé)鏈
建造者 裝飾 狀態(tài)
外觀 觀察者
享元 中介者
組合 迭代器
訪問(wèn)者
備忘錄
  1. 單例(Singleton)模式:某個(gè)類(lèi)只能生成一個(gè)實(shí)例叉寂,該類(lèi)提供了一個(gè)全局訪問(wèn)點(diǎn)供外部獲取該實(shí)例萍启,其拓展是有限多例模式。
  2. 原型(Prototype)模式:將一個(gè)對(duì)象作為原型屏鳍,通過(guò)對(duì)其進(jìn)行復(fù)制而克隆出多個(gè)和原型類(lèi)似的新實(shí)例勘纯。
  3. 工廠方法(Factory Method)模式:定義一個(gè)用于創(chuàng)建產(chǎn)品的接口,由子類(lèi)決定生產(chǎn)什么產(chǎn)品钓瞭。
  4. 抽象工廠(AbstractFactory)模式:提供一個(gè)創(chuàng)建產(chǎn)品族的接口驳遵,其每個(gè)子類(lèi)可以生產(chǎn)一系列相關(guān)的產(chǎn)品。
  5. 建造者(Builder)模式:將一個(gè)復(fù)雜對(duì)象分解成多個(gè)相對(duì)簡(jiǎn)單的部分山涡,然后根據(jù)不同需要分別創(chuàng)建它們堤结,最后構(gòu)建成該復(fù)雜對(duì)象唆迁。
  6. 代理(Proxy)模式:為某對(duì)象提供一種代理以控制對(duì)該對(duì)象的訪問(wèn)。即客戶(hù)端通過(guò)代理間接地訪問(wèn)該對(duì)象竞穷,從而限制唐责、增強(qiáng)或修改該對(duì)象的一些特性。
  7. 適配器(Adapter)模式:將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另外一個(gè)接口来庭,使得原本由于接口不兼容而不能一起工作的那些類(lèi)能一起工作妒蔚。
  8. 橋接(Bridge)模式:將抽象與實(shí)現(xiàn)分離,使它們可以獨(dú)立變化月弛。它是用組合關(guān)系代替繼承關(guān)系來(lái)實(shí)現(xiàn)肴盏,從而降低了抽象和實(shí)現(xiàn)這兩個(gè)可變維度的耦合度。
  9. 裝飾(Decorator)模式:動(dòng)態(tài)的給對(duì)象增加一些職責(zé)帽衙,即增加其額外的功能菜皂。
  10. 外觀(Facade)模式:為多個(gè)復(fù)雜的子系統(tǒng)提供一個(gè)一致的接口,使這些子系統(tǒng)更加容易被訪問(wèn)厉萝。
  11. 享元(Flyweight)模式:運(yùn)用共享技術(shù)來(lái)有效地支持大量細(xì)粒度對(duì)象的復(fù)用恍飘。
  12. 組合(Composite)模式:將對(duì)象組合成樹(shù)狀層次結(jié)構(gòu),使用戶(hù)對(duì)單個(gè)對(duì)象和組合對(duì)象具有一致的訪問(wèn)性谴垫。
  13. 模板方法(TemplateMethod)模式:定義一個(gè)操作中的算法骨架章母,而將算法的一些步驟延遲到子類(lèi)中,使得子類(lèi)可以不改變?cè)撍惴ńY(jié)構(gòu)的情況下重定義該算法的某些特定步驟翩剪。
  14. 策略(Strategy)模式:定義了一系列算法乳怎,并將每個(gè)算法封裝起來(lái),使它們可以相互替換前弯,且算法的改變不會(huì)影響使用算法的客戶(hù)蚪缀。
  15. 命令(Command)模式:將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,使發(fā)出請(qǐng)求的責(zé)任和執(zhí)行請(qǐng)求的責(zé)任分割開(kāi)恕出。
  16. 職責(zé)鏈(Chain of Responsibility)模式:把請(qǐng)求從鏈中的一個(gè)對(duì)象傳到下一個(gè)對(duì)象询枚,直到請(qǐng)求被響應(yīng)為止。通過(guò)這種方式去除對(duì)象之間的耦合浙巫。
  17. 狀態(tài)(State)模式:允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)發(fā)生改變時(shí)改變其行為能力金蜀。
  18. 觀察者(Observer)模式:多個(gè)對(duì)象間存在一對(duì)多關(guān)系,當(dāng)一個(gè)對(duì)象發(fā)生改變時(shí)的畴,把這種改變通知給其他多個(gè)對(duì)象廉油,從而影響其他對(duì)象的行為。
  19. 中介者(Mediator)模式:定義一個(gè)中介對(duì)象來(lái)簡(jiǎn)化原有對(duì)象之間的交互關(guān)系苗傅,降低系統(tǒng)中對(duì)象間的耦合度抒线,使原有對(duì)象之間不必相互了解。
  20. 迭代器(Iterator)模式:提供一種方法來(lái)順序訪問(wèn)聚合對(duì)象中的一系列數(shù)據(jù)渣慕,而不暴露聚合對(duì)象的內(nèi)部表示嘶炭。
  21. 訪問(wèn)者(Visitor)模式:在不改變集合元素的前提下抱慌,為一個(gè)集合中的每個(gè)元素提供多種訪問(wèn)方式,即每個(gè)元素有多個(gè)訪問(wèn)者對(duì)象訪問(wèn)眨猎。
  22. 備忘錄(Memento)模式:在不破壞封裝性的前提下抑进,獲取并保存一個(gè)對(duì)象的內(nèi)部狀態(tài),以便以后恢復(fù)它睡陪。
  23. 解釋器(Interpreter)模式:提供如何定義語(yǔ)言的文法寺渗,以及對(duì)語(yǔ)言句子的解釋方法,即解釋器兰迫。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末信殊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子汁果,更是在濱河造成了極大的恐慌涡拘,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件据德,死亡現(xiàn)場(chǎng)離奇詭異鳄乏,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)棘利,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)橱野,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人善玫,你說(shuō)我怎么就攤上這事水援。” “怎么了蝌焚?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)誓斥。 經(jīng)常有香客問(wèn)我只洒,道長(zhǎng),這世上最難降的妖魔是什么劳坑? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任毕谴,我火速辦了婚禮,結(jié)果婚禮上距芬,老公的妹妹穿的比我還像新娘涝开。我一直安慰自己,他們只是感情好框仔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布舀武。 她就那樣靜靜地躺著,像睡著了一般离斩。 火紅的嫁衣襯著肌膚如雪银舱。 梳的紋絲不亂的頭發(fā)上瘪匿,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音寻馏,去河邊找鬼棋弥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛诚欠,可吹牛的內(nèi)容都是我干的顽染。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼轰绵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼粉寞!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起藏澳,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤仁锯,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后翔悠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體业崖,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蓄愁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了双炕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撮抓,死狀恐怖妇斤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丹拯,我是刑警寧澤站超,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站乖酬,受9級(jí)特大地震影響死相,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜咬像,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一算撮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧县昂,春花似錦肮柜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至待讳,卻和暖如春预明,著一層夾襖步出監(jiān)牢的瞬間缩赛,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工撰糠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留酥馍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓阅酪,卻偏偏與公主長(zhǎng)得像旨袒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子术辐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345