框架發(fā)展的歷史與本質(zhì)

1. 參考來源


  1. 深入理解框架本質(zhì)
  2. https://baike.baidu.com/item/%E6%A1%86%E6%9E%B6/1212667?fr=kg_qa
  3. MVC碴里,MVP 和 MVVM
  4. https://www.cnblogs.com/xueduanyang/p/3601471.html
  5. http://www.cnblogs.com/indream/p/3602348.html
  6. 框架是如何煉成的 —— 揭秘前端頂級框架的底層實現(xiàn)原理
  7. 前端框架與庫的區(qū)別

2. 摘錄


  1. web框架發(fā)展: HTML---JSP---servlet---struts

  2. 解決問題,而誕生(懶惰的需求,職責(zé)分配問題). jar包...mvc模型

  3. 框架一般是成熟,穩(wěn)健的够挂,他可以處理系統(tǒng)很多細(xì)節(jié)問題,比如脚猾,事物處理,安全性顿颅,數(shù)據(jù)流控制等問題恍涂。

    還有框架一般都經(jīng)過很多人使用宝惰,所以結(jié)構(gòu)很好,所以擴展性也很好再沧,而且它是不斷升級的尼夺,你可以直接享受別人升級代碼帶來的好處。

  4. 不論是哪一種技術(shù)产园,最終都是為業(yè)務(wù)發(fā)展而服務(wù)的汞斧。從業(yè)務(wù)的角度來講。

    首先什燕,框架的是為了企業(yè)的業(yè)務(wù)發(fā)展和戰(zhàn)略規(guī)劃而服務(wù)的粘勒,他服從于企業(yè)的愿景(vision);

    其次屎即,框架最重要的目標(biāo)是提高企業(yè)的競爭能力庙睡,包括降低成本、提高質(zhì)量技俐、改善客戶滿意程度乘陪,控制進度等方面。

    最后雕擂,框架實現(xiàn)這一目標(biāo)的方式是進行有效的知識積累啡邑。軟件開發(fā)是一種知識活動,因此知識的聚集和積累是至關(guān)重要的井赌“疲框架能夠采用一種結(jié)構(gòu)化的方式對某個特定的業(yè)務(wù)領(lǐng)域進行描述,也就是將這個領(lǐng)域相關(guān)的技術(shù)以代碼仇穗、文檔流部、模型等方式固化下來。

什么是框架

框架(Framework)是整個或部分系統(tǒng)的可重用設(shè)計纹坐,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認(rèn)為枝冀,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。前者是從應(yīng)用方面而后者是從目的方面給出的定義耘子。

可以說果漾,一個框架是一個可復(fù)用的設(shè)計構(gòu)件,它規(guī)定了應(yīng)用的體系結(jié)構(gòu)谷誓,闡明了整個設(shè)計跨晴、協(xié)作構(gòu)件之間的依賴關(guān)系、責(zé)任分配和控制流程片林,表現(xiàn)為一組抽象類以及其實例之間協(xié)作的方法,它為構(gòu)件復(fù)用提供了上下文(Context)關(guān)系。因此構(gòu)件庫的大規(guī)模重用也需要框架费封。

構(gòu)件領(lǐng)域框架方法在很大程度上借鑒了硬件技術(shù)發(fā)展的成就焕妙,它是構(gòu)件技術(shù)軟件體系結(jié)構(gòu)研究和應(yīng)用軟件開發(fā)三者發(fā)展結(jié)合的產(chǎn)物弓摘。在很多情況下焚鹊,框架通常以構(gòu)件庫的形式出現(xiàn),但構(gòu)件庫只是框架的一個重要部分韧献∧┗迹框架的關(guān)鍵還在于框架內(nèi)對象間的交互模式和控制流模式。

框架比構(gòu)件可定制性強锤窑。在某種程度上璧针,將構(gòu)件和框架看成兩個不同但彼此協(xié)作的技術(shù)或許更好≡▎框架為構(gòu)件提供重用的環(huán)境探橱,為構(gòu)件處理錯誤、交換數(shù)據(jù)及激活操作提供了標(biāo)準(zhǔn)的方法绘证。

應(yīng)用框架的概念也很簡單隧膏。它并不是包含構(gòu)件應(yīng)用程序的小片程序,而是實現(xiàn)了某應(yīng)用領(lǐng)域通用完備功能(除去特殊應(yīng)用的部分)的底層服務(wù)嚷那。使用這種框架的編程人員可以在一個通用功能已經(jīng)實現(xiàn)的基礎(chǔ)上開始具體的系統(tǒng)開發(fā)胞枕。框架提供了所有應(yīng)用期望的默認(rèn)行為的類集合魏宽。具體的應(yīng)用通過重寫子類(該子類屬于框架的默認(rèn)行為)或組裝對象來支持應(yīng)用專用的行為腐泻。

應(yīng)用框架強調(diào)的是軟件的設(shè)計重用性和系統(tǒng)的可擴充性,以縮短大型應(yīng)用軟件系統(tǒng)的開發(fā)周期,提高開發(fā)質(zhì)量湖员。與傳統(tǒng)的基于類庫的面向?qū)ο?/a>重用技術(shù)比較贫悄,應(yīng)用框架更注重于面向?qū)I(yè)領(lǐng)域的軟件重用。應(yīng)用框架具有領(lǐng)域相關(guān)性娘摔,構(gòu)件根據(jù)框架進行復(fù)合而生成可運行的系統(tǒng)窄坦。框架的粒度越大凳寺,其中包含的領(lǐng)域知識就更加完整鸭津。

框架,即framework肠缨。其實就是某種應(yīng)用的半成品逆趋,就是一組組件,供你選用完成你自己的系統(tǒng)晒奕。簡單說就是使用別人搭好的舞臺闻书,你來做表演名斟。而且,框架一般是成熟的魄眉,不斷升級的軟件砰盐。 框架的概念最早起源于Smalltalk環(huán)境,其中最著名的框架是Smalltalk 80的用戶界面框架MVC(Model-View-Controller)坑律。隨著用戶界面框架Interviews 【Linton 89】和ET++ 【W(wǎng)einand 89】 的開發(fā)和發(fā)布岩梳,框架研究越來越受到研究人員的重視。雖然框架研究最初起源于用戶界面領(lǐng)域晃择,但它還被成功地應(yīng)用到其他領(lǐng)域中冀值,如操作系統(tǒng)【Russo 90】、火警系統(tǒng) 【Molin 96a宫屠,Molin 96b】 等列疗。Taligent公司于1992年成立后,框架研究受到了廣泛的重視激况。該公司計劃基于框架來開發(fā)一個完整的面向?qū)ο?/a>操作系統(tǒng)作彤。另外,該公司還發(fā)布了一套支持快速應(yīng)用開發(fā)的工具集CommonPoint乌逐,其中包括了上百個面向?qū)ο罂蚣?【Andert 94,Cotter 95】竭讳。框架還沒有統(tǒng)一的定義浙踢,其中Ralph Johnson所給出的定義基本上為大多數(shù)研究人員所接受:

一個框架是一個可復(fù)用設(shè)計绢慢,它是由一組抽象類及其實例間協(xié)作關(guān)系來表達(dá)的 【Johnson 98】。

這個定義是從框架內(nèi)涵的角度來定義框架的洛波,當(dāng)然也可以從框架用途的角度來給出框架的定義:

一個框架是在一個給定的問題領(lǐng)域內(nèi)胰舆,一個應(yīng)用程序的一部分設(shè)計與實現(xiàn)【Bosch 97】。

從以上兩個定義可以看出蹬挤,框架是對特定應(yīng)用領(lǐng)域中的應(yīng)用系統(tǒng)的部分設(shè)計和實現(xiàn)com/wiki/%E5%AD%90%E7%B3%BB%E7%BB%9F target="_new" class=innerlink>子系統(tǒng))的整體結(jié)構(gòu)缚窿。框架將應(yīng)用系統(tǒng)劃分為類和對象焰扳,定義類和對象的責(zé)任倦零,類和對象如何互相協(xié)作,以及對象之間的控制線程吨悍。這些共有的設(shè)計因素由框架預(yù)先定義扫茅,應(yīng)用開發(fā)人員只須關(guān)注于特定的應(yīng)用系統(tǒng)特有部分∮希框架刻畫了其應(yīng)用領(lǐng)域所共有的設(shè)計決策葫隙,所以說框架著重于設(shè)計復(fù)用,盡管框架中可能包含用某種程序設(shè)計語言實現(xiàn)的具體類躏仇。

一個基于框架開發(fā)的應(yīng)用系統(tǒng)包含一個或多個框架恋脚,與框架相關(guān)的構(gòu)件類腺办,以及與應(yīng)用系統(tǒng)相關(guān)的功能擴展。與應(yīng)用系統(tǒng)相關(guān)的擴展包括與應(yīng)用系統(tǒng)相關(guān)的類和對象慧起。應(yīng)用系統(tǒng)可能僅僅復(fù)用了面向?qū)ο?/a>框架的一部分菇晃,或者說,它可能需要對框架進行一些適應(yīng)性修改蚓挤,以滿足系統(tǒng)需求。

面向?qū)ο蟮目蚣茏鳛橐环N可復(fù)用的軟件驻子,在基于框架的軟件開發(fā)過程中會涉及到框架的開發(fā)和利用兩個方面的工作灿意。框架的開發(fā)階段在于產(chǎn)生領(lǐng)域中可復(fù)用的設(shè)計崇呵。該階段的主要結(jié)果是框架以及與框架相關(guān)的構(gòu)件類缤剧。該階段的一個重要活動是框架的演變和維護。象所有軟件一樣域慷,框架也易于變化荒辕。產(chǎn)生變化的原因很多,如應(yīng)用出錯犹褒,業(yè)務(wù)領(lǐng)域變化抵窒,等等。

不論是哪一種技術(shù)叠骑,最終都是為業(yè)務(wù)發(fā)展而服務(wù)的李皇。從業(yè)務(wù)的角度來講。首先宙枷,框架的是為了企業(yè)的業(yè)務(wù)發(fā)展和戰(zhàn)略規(guī)劃而服務(wù)的掉房,他服從于企業(yè)的愿景(vision);其次慰丛,框架最重要的目標(biāo)是提高企業(yè)的競爭能力卓囚,包括降低成本、提高質(zhì)量诅病、改善客戶滿意程度哪亿,控制進度等方面。最后睬隶,框架實現(xiàn)這一目標(biāo)的方式是進行有效的知識積累锣夹。軟件開發(fā)是一種知識活動,因此知識的聚集和積累是至關(guān)重要的苏潜∫迹框架能夠采用一種結(jié)構(gòu)化的方式對某個特定的業(yè)務(wù)領(lǐng)域進行描述,也就是將這個領(lǐng)域相關(guān)的技術(shù)以代碼恤左、文檔贴唇、模型等方式固化下來搀绣。

為什么要用框架

因為軟件系統(tǒng)發(fā)展到今天已經(jīng)很復(fù)雜了,特別是服務(wù)器端軟件戳气,涉及到的知識链患,內(nèi)容,問題太多瓶您。在某些方面使用別人成熟的框架麻捻,就相當(dāng)于讓別人幫你完成一些基礎(chǔ)工作,你只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計呀袱。而且框架一般是成熟贸毕,穩(wěn)健的,他可以處理系統(tǒng)很多細(xì)節(jié)問題夜赵,比如明棍,事物處理,安全性寇僧,數(shù)據(jù)流控制等問題摊腋。還有框架一般都經(jīng)過很多人使用,所以結(jié)構(gòu)很好嘁傀,所以擴展性也很好兴蒸,而且它是不斷升級的,你可以直接享受別人升級代碼帶來的好處心包。

框架一般處在低層應(yīng)用平臺(如J2EE)和高層業(yè)務(wù)邏輯之間的中間層类咧。

軟件為什么要分層? 為了實現(xiàn)“高內(nèi)聚蟹腾、低耦合”痕惋。把問題劃分開來各個解決,易于控制娃殖,易于延展值戳,易于分配資源…總之好處很多啦。

框架和設(shè)計模式

框架炉爆、設(shè)計模式這兩個概念總?cè)菀妆换煜楹纾鋵嵥鼈冎g還是有區(qū)別的。構(gòu)件通常是代碼重用芬首,而設(shè)計模式是設(shè)計重用赴捞,框架則介于兩者之間,部分代碼重用郁稍,部分設(shè)計重用赦政,有時分析也可重用。在軟件生產(chǎn)中有三種級別的重用:內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊;代碼重用恢着,即將通用模塊組合成庫或工具集桐愉,以便在多個應(yīng)用和領(lǐng)域都能使用;應(yīng)用框架的重用掰派,即為專用領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu)从诲,以獲得最高級別的重用性潮梯。

框架與設(shè)計模式雖然相似襟铭,但卻有著根本的不同。設(shè)計模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述搪桂,它比框架更抽象略步;框架可以用代碼表示碎罚,也能直接執(zhí)行或復(fù)用,而對模式而言只有實例才能用代碼表示;設(shè)計模式是比框架更小的元素纳像,一個框架中往往含有一個或多個設(shè)計模式,框架總是針對某一特定應(yīng)用領(lǐng)域拯勉,但同一模式卻可適用于各種應(yīng)用竟趾。可以說宫峦,框架是軟件岔帽,而設(shè)計模式是軟件的知識。

框架開發(fā)

框架的最大好處就是重用导绷。面向?qū)ο?/a>系統(tǒng)獲得的最大的復(fù)用方式就是框架犀勒,一個大的應(yīng)用系統(tǒng)往往可能由多層互相協(xié)作的框架組成。

由于框架能重用代碼妥曲,因此從一已有構(gòu)件庫中建立應(yīng)用變得非常容易贾费,因為構(gòu)件都采用框架統(tǒng)一定義的接口,從而使構(gòu)件間的通信簡單檐盟。

框架能重用設(shè)計褂萧。它提供可重用的抽象算法及高層設(shè)計,并能將大系統(tǒng)分解成更小的構(gòu)件葵萎,而且能描述構(gòu)件間的內(nèi)部接口导犹。這些標(biāo)準(zhǔn)接口使在已有的構(gòu)件基礎(chǔ)上通過組裝建立各種各樣的系統(tǒng)成為可能。只要符合接口定義羡忘,新的構(gòu)件就能插入框架中谎痢,構(gòu)件設(shè)計者就能重用構(gòu)架的設(shè)計。

框架還能重用分析卷雕。所有的人員若按照框架的思想來分析事務(wù)节猿,那么就能將它劃分為同樣的構(gòu)件,采用相似的解決方法爽蝴,從而使采用同一框架的分析人員之間能進行溝通沐批。

主要特點

領(lǐng)域內(nèi)的軟件結(jié)構(gòu)一致性好纫骑; 建立更加開放的系統(tǒng);

重用代碼大大增加九孩,軟件生產(chǎn)效率和質(zhì)量也得到了提高先馆;

軟件設(shè)計人員要專注于對領(lǐng)域的了解,使需求分析更充分躺彬;

存儲了經(jīng)驗煤墙,可以讓那些經(jīng)驗豐富的人員去設(shè)計框架和領(lǐng)域構(gòu)件,而不必限于低層編程宪拥;

允許采用快速原型技術(shù)仿野;

有利于在一個項目內(nèi)多人協(xié)同工作;

大粒度的重用使得平均開發(fā)費用降低她君,開發(fā)速度加快脚作,開發(fā)人員減少,維護費用降低缔刹,而參數(shù)化框架使得適應(yīng)性球涛、靈活性增強。

解決問題

框架要解決的最重要的一個問題是技術(shù)整合的問題校镐,在J2EE的框架中亿扁,有著各種各樣的技術(shù),不同的軟件企業(yè)需要從J2EE中選擇不同的技術(shù)鸟廓,這就使得軟件企業(yè)最終的應(yīng)用依賴于這些技術(shù)从祝,技術(shù)自身的復(fù)雜性和技術(shù)的風(fēng)險性將會直接對應(yīng)用造成沖擊。而應(yīng)用是軟件企業(yè)的核心引谜,是競爭力的關(guān)鍵所在牍陌,因此應(yīng)該將應(yīng)用自身的設(shè)計和具體的實現(xiàn)技術(shù)解耦。這樣煌张,軟件企業(yè)的研發(fā)將集中在應(yīng)用的設(shè)計上呐赡,而不是具體的技術(shù)實現(xiàn),技術(shù)實現(xiàn)是應(yīng)用的底層支撐骏融,它不應(yīng)該直接對應(yīng)用產(chǎn)生影響链嘀。 要理解這一點,我們來舉一些例子:

一個做視頻流應(yīng)用的軟件企業(yè)档玻,他為電廣行業(yè)提供整體的解決方案怀泊。他的優(yōu)勢在于將各種各樣的視頻硬件、服務(wù)器误趴、和管理結(jié)合起來霹琼,因此他扮演的是一個集成商的角色。因此他的核心價值在于使用軟件技術(shù)將不同的硬件整合起來,并在硬件的整合層面上提供一個統(tǒng)一的管理平臺枣申。所以他的精力應(yīng)該放在解決兩個問題:

如何找到一種方法售葡,將不同的硬件整合起來,注意忠藤,這里的整合并不是技術(shù)整合挟伙,而是一種思路上的整合。首先要考慮的絕對不是要使用什么技術(shù)模孩,而是這些硬件需要提供哪些服務(wù)尖阔,需要以什么樣的方式進行管理。因此榨咐,這時候做的事情實際上是對領(lǐng)域進行建模介却。例如,我們定義任何一種硬件都需要提供兩種能力块茁,一種是統(tǒng)一的管理接口齿坷,用于對所有硬件統(tǒng)一管理;另一種是服務(wù)接口数焊,系統(tǒng)平臺可以查詢硬件所能夠提供的服務(wù)胃夏,并調(diào)用這些服務(wù)。所以昌跌,設(shè)計的規(guī)范將會針對兩種能力進行。

另一個問題是如何描述這個管理系統(tǒng)的規(guī)范照雁。你需要描述各種管理活動蚕愤,以及管理中所涉及的不同實體。因為管理系統(tǒng)是針對硬件的管理饺蚊,所以它是構(gòu)架在硬件整合平臺之上的萍诱。

在完成業(yè)務(wù)層面的設(shè)計之后,我們再來看看具體的技術(shù)實現(xiàn)污呼。光有規(guī)范和設(shè)計是不夠的裕坊,我們還需要選擇一個優(yōu)秀的技術(shù)。由于是對不同硬件的整合燕酷,我們想到采用Java提供的JMX技術(shù)籍凝。JMX技術(shù)適合用來進行系統(tǒng)整合,它定義了一個通用的規(guī)范苗缩,并給出了遠(yuǎn)程管理端口的一些默認(rèn)實現(xiàn)饵蒂。JMX已經(jīng)經(jīng)過了實踐的檢驗,不少的應(yīng)用服務(wù)器都采用了以JMX為基礎(chǔ)的結(jié)構(gòu)酱讶,例如有名的JBoss退盯。JMX已經(jīng)是一個很好的開始了,但是我們還需要在JMX的基礎(chǔ)上再做一些工作。

相關(guān)概念

1. 白盒與黑盒框架

框架可分為白盒(White-Box)與黑盒(Black-Box)兩種框架渊迁。

基于繼承的框架被稱為白盒框架慰照。所謂白盒即具備可視性,被繼承的父類的內(nèi)部實現(xiàn)細(xì)節(jié)對子類而言都是可知的琉朽。利用白盒框架的應(yīng)用開發(fā)者通過衍生子類或重寫父類的成員方法來開發(fā)系統(tǒng)毒租。子類的實現(xiàn)很大程度上依賴于父類的實現(xiàn),這種依賴性限制了重用的靈活性和完全性漓骚。但解決這種局限性的方法可以是只繼承抽象父類蝌衔,因為抽象類基本上不提供具體的實現(xiàn)。白盒框架是一個程序骨架蝌蹂,而用戶衍生出的子類是這個骨架上的附屬品噩斟。

基于對象構(gòu)件組裝的框架就是黑盒框架。應(yīng)用開發(fā)者通過整理孤个、組裝對象來獲得系統(tǒng)的實現(xiàn)剃允。用戶只須了解構(gòu)件的外部接口,無須了解內(nèi)部的具體實現(xiàn)齐鲤。另外斥废,組裝比繼承更為靈活,它能動態(tài)地改變给郊,繼承只是一個靜態(tài)編譯時的概念牡肉。

在理想情況下,任何所需的功能都可通過組裝已有的構(gòu)件得到淆九,事實上可獲得的構(gòu)件遠(yuǎn)遠(yuǎn)不能滿足需求统锤,有時通過繼承獲得新的構(gòu)件比利用已有構(gòu)件組裝新構(gòu)件更容易,因此白盒和黑盒將同時應(yīng)用于系統(tǒng)的開發(fā)中炭庙。不過白盒框架趨向于向黑盒框架發(fā)展饲窿,黑盒框架也是系統(tǒng)開發(fā)希望達(dá)到的理想目標(biāo)。

2. 熱點焕蹄、食譜以及好萊塢原則

成功的框架開發(fā)需要確定領(lǐng)域?qū)S玫?'熱點'' (Hot spot)逾雄。應(yīng)用開發(fā)者在框架的基礎(chǔ)上進行開發(fā),只須擴展框架的某些部分腻脏,''熱點''就是在應(yīng)用領(lǐng)域的一種擴展槽鸦泳,開發(fā)者根據(jù)自己的需要填充這些擴展槽。''熱點''使框架具有靈活性永品,如在具體的實現(xiàn)中辽故,擴展槽可以被看成是一些抽象類,開發(fā)者通過重寫抽象方法獲得具體實現(xiàn)腐碱。

''食譜'' (Cookbook)就是描述如何使用框架方法的文檔誊垢。在''食譜''中包含了許多''烹飪''方法掉弛,這些''烹飪''方法相當(dāng)于一些具體的操作步驟,描述了為解決某一專門問題如何使用框架的詳細(xì)方法喂走⊙甓觯框架的內(nèi)部設(shè)計和實現(xiàn)細(xì)節(jié)通常不出現(xiàn)在''食譜''中。

框架的一個重要特征就是用戶定義的方法經(jīng)常被框架自身調(diào)用芋肠,而不是從用戶的應(yīng)用代碼中調(diào)用乎芳。這種機制常稱為“好萊塢原則”(Hollywood Principle)或“別調(diào)用我們,我們會調(diào)用您”帖池。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奈惑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子睡汹,更是在濱河造成了極大的恐慌肴甸,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件囚巴,死亡現(xiàn)場離奇詭異原在,居然都是意外死亡,警方通過查閱死者的電腦和手機彤叉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門庶柿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秽浇,你說我怎么就攤上這事浮庐。” “怎么了柬焕?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵兔辅,是天一觀的道長。 經(jīng)常有香客問我击喂,道長,這世上最難降的妖魔是什么碰辅? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任懂昂,我火速辦了婚禮,結(jié)果婚禮上没宾,老公的妹妹穿的比我還像新娘凌彬。我一直安慰自己,他們只是感情好循衰,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布铲敛。 她就那樣靜靜地躺著,像睡著了一般会钝。 火紅的嫁衣襯著肌膚如雪伐蒋。 梳的紋絲不亂的頭發(fā)上工三,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音先鱼,去河邊找鬼俭正。 笑死,一個胖子當(dāng)著我的面吹牛焙畔,可吹牛的內(nèi)容都是我干的掸读。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宏多,長吁一口氣:“原來是場噩夢啊……” “哼儿惫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伸但,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肾请,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后砌烁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筐喳,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年函喉,在試婚紗的時候發(fā)現(xiàn)自己被綠了避归。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡管呵,死狀恐怖梳毙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捐下,我是刑警寧澤账锹,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站坷襟,受9級特大地震影響奸柬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜婴程,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一廓奕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧档叔,春花似錦桌粉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至传蹈,卻和暖如春押逼,著一層夾襖步出監(jiān)牢的瞬間步藕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工宴胧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留漱抓,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓恕齐,卻偏偏與公主長得像乞娄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子显歧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言仪或。Java 技術(shù)具有卓越的通用性、高效性士骤、平臺移植性和...
    Java小辰閱讀 1,084評論 0 14
  • spring mvc 工作機制(原理): DispatcherServlet主要用作職責(zé)調(diào)度工作范删,本身主要用于控制...
    java大濕兄閱讀 1,896評論 5 24
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法拷肌,內(nèi)部類的語法到旦,繼承相關(guān)的語法,異常的語法巨缘,線程的語...
    子非魚_t_閱讀 31,639評論 18 399
  • mrp:material requirements planning 物料需求計劃添忘。erp的核心atp:avail...
    F4A3閱讀 321評論 0 0
  • 你說你喜歡花花草草,隨手一拍就是各種心水若锁,但你能說出名字的花草又有幾種呢搁骑? 一味地喜歡卻不了解是否是種無知的表現(xiàn)?...
    毛豆姑娘閱讀 170評論 2 1