第一篇:關(guān)于設(shè)計模式的經(jīng)典文章
追MM與設(shè)計模式 創(chuàng)建型模式
1、FACTORY—追MM少不了請吃飯了,麥當(dāng)勞的雞翅和肯德基的雞翅都是MM愛吃的東西,雖 然口味有所不同,但不管你帶MM去麥當(dāng)勞或肯德基,只管向服務(wù)員說“來四個雞翅”就行 了。麥當(dāng)勞和肯德基就是生產(chǎn)雞翅的Factory
工廠模式:客戶類和工廠類分開。消費(fèi)者任何時候需要某種產(chǎn)品,只需向工廠請求即可。消費(fèi)者無須修改就可以接納新產(chǎn)品。缺點(diǎn)是當(dāng)產(chǎn)品修改時,工廠類也要做相應(yīng)的修改。如 :如何創(chuàng)建及如何向客戶端提供。
2、BUILDER—MM最愛聽的就是“我愛你”這句話了,見到不同地方的MM,要能夠用她們的 方言跟她說這句話哦,我有一個多種語言翻譯機(jī),上面每種語言都有一個按鍵,見到MM我 只要按對應(yīng)的鍵,它就能夠用相應(yīng)的語言說出“我愛你”這句話了,國外的MM也可以輕松 搞掂,這就是我的“我愛你”builder。(這一定比美軍在伊拉克用的翻譯機(jī)好賣)
建造模式:將產(chǎn)品的內(nèi)部表象和產(chǎn)品的生成過程分割開來,從而使一個建造過程生成具有 不同的內(nèi)部表象的產(chǎn)品對象。建造模式使得產(chǎn)品內(nèi)部表象可以獨(dú)立的變化,客戶不必知道 產(chǎn)品內(nèi)部組成的細(xì)節(jié)。建造模式可以強(qiáng)制實(shí)行一種分步驟進(jìn)行的建造過程。
3、FACTORY METHOD—請MM去麥當(dāng)勞吃漢堡,不同的MM有不同的口味,要每個都記住是一 件煩人的事情,我一般采用Factory Method模式,帶著MM到服務(wù)員那兒,說“要一個漢堡 ”,具體要什么樣的漢堡呢,讓MM直接跟服務(wù)員說就行了。
工廠方法模式:核心工廠類不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建的工作交給子類去 做,成為一個抽象工廠角色,僅負(fù)責(zé)給出具體工廠類必須實(shí)現(xiàn)的接口,而不接觸哪一個產(chǎn) 品類應(yīng)當(dāng)被實(shí)例化這種細(xì)節(jié)。
4、PROTOTYPE—跟MM用QQ聊天,一定要說些深情的話語了,我搜集了好多肉麻的情話,需 要時只要copy出來放到QQ里面就行了,這就是我的情話prototype了。(100塊錢一份,你 要不要)
原始模型模式:通過給出一個原型對象來指明所要創(chuàng)建的對象的類型,然后用復(fù)制這個原 型對象的方法創(chuàng)建出更多同類型的對象。原始模型模式允許動態(tài)的增加或減少產(chǎn)品類,產(chǎn) 品類不需要非得有任何事先確定的等級結(jié)構(gòu),原始模型模式適用于任何的等級結(jié)構(gòu)。缺點(diǎn) 是每一個類都必須配備一個克隆方法。
5、SINGLETON—俺有6個漂亮的老婆,她們的老公都是我,我就是我們家里的老公 Sigleton,她們只要說道“老公”,都是指的同一個人,那就是我(剛才做了個夢啦,哪 有這么好的事)
單例模式:單例模式確保某一個類只有一個實(shí)例,而且自行實(shí)例化并向整個系統(tǒng)提供這個 實(shí)例單例模式。單例模式只應(yīng)在有真正的“單一實(shí)例”的需求時才可使用。
結(jié)構(gòu)型模式
6、ADAPTER—在朋友聚會上碰到了一個美女Sarah,從香港來的,可我不會說粵語,她不 會說普通話,只好求助于我的朋友kent了,他作為我和Sarah之間的Adapter,讓我和 Sarah可以相互交談了(也不知道他會不會耍我)
適配器(變壓器)模式:把一個類的接口變換成客戶端所期待的另一種接口,從而使原本 因接口原因不匹配而無法一起工作的兩個類能夠一起工作。適配類可以根據(jù)參數(shù)返還一個 合適的實(shí)例給客戶端。
7、BRIDGE—早上碰到MM,要說早上好,晚上碰到MM,要說晚上好;碰到MM穿了件新衣服,要說你的衣服好漂亮哦,碰到MM新做的發(fā)型,要說你的頭發(fā)好漂亮哦。不要問我“早上 碰到MM新做了個發(fā)型怎么說”這種問題,自己用BRIDGE組合一下不就行了
橋梁模式:將抽象化與實(shí)現(xiàn)化脫耦,使得二者可以獨(dú)立的變化,也就是說將他們之間的強(qiáng) 關(guān)聯(lián)變成弱關(guān)聯(lián),也就是指在一個軟件系統(tǒng)的抽象化和實(shí)現(xiàn)化之間使用組合/聚合關(guān)系而 不是繼承關(guān)系,從而使兩者可以獨(dú)立的變化。
8、COMPOSITE—Mary今天過生日。“我過生日,你要送我一件禮物。”“嗯,好吧,去商 店,你自己挑。”“這件T恤挺漂亮,買,這條裙子好看,買,這個包也不錯,買。”“ 喂,買了三件了呀,我只答應(yīng)送一件禮物的哦。”“什么呀,T恤加裙子加包包,正好配 成一套呀,小姐,麻煩你包起來。”“??”,MM都會用Composite模式了,你會了沒有 ?
合成模式:合成模式將對象組織到樹結(jié)構(gòu)中,可以用來描述整體與部分的關(guān)系。合成模式 就是一個處理對象的樹結(jié)構(gòu)的模式。合成模式把部分與整體的關(guān)系用樹結(jié)構(gòu)表示出來。合 成模式使得客戶端把一個個單獨(dú)的成分對象和由他們復(fù)合而成的合成對象同等看待。
9、DECORATOR—Mary過完輪到Sarly過生日,還是不要叫她自己挑了,不然這個月伙食費(fèi) 肯定玩完,拿出我去年在華山頂上照的照片,在背面寫上“最好的的禮物,就是愛你的 Fita”,再到街上禮品店買了個像框(賣禮品的MM也很漂亮哦),再找隔壁搞美術(shù)設(shè)計的 Mike設(shè)計了一個漂亮的盒子裝起來??,我們都是Decorator,最終都在修飾我這個人呀,怎么樣,看懂了嗎?
裝飾模式:裝飾模式以對客戶端透明的方式擴(kuò)展對象的功能,是繼承關(guān)系的一個替代方案,提供比繼承更多的靈活性。動態(tài)給一個對象增加功能,這些功能可以再動態(tài)的撤消。增 加由一些基本功能的排列組合而產(chǎn)生的非常大量的功能。
10、FACADE—我有一個專業(yè)的Nikon相機(jī),我就喜歡自己手動調(diào)光圈、快門,這樣照出來 的照片才專業(yè),但MM可不懂這些,教了半天也不會。幸好相機(jī)有Facade設(shè)計模式,把相機(jī) 調(diào)整到自動檔,只要對準(zhǔn)目標(biāo)按快門就行了,一切由相機(jī)自動調(diào)整,這樣MM也可以用這個 相機(jī)給我拍張照片了。
門面模式:外部與一個子系統(tǒng)的通信必須通過一個統(tǒng)一的門面對象進(jìn)行。門面模式提供一
個高層次的接口,使得子系統(tǒng)更易于使用。每一個子系統(tǒng)只有一個門面類,而且此門面類 只有一個實(shí)例,也就是說它是一個單例模式。但整個系統(tǒng)可以有多個門面類。
11、FLYWEIGHT—每天跟MM發(fā)短信,手指都累死了,最近買了個新手機(jī),可以把一些常用 的句子存在手機(jī)里,要用的時候,直接拿出來,在前面加上MM的名字就可以發(fā)送了,再不 用一個字一個字敲了。共享的句子就是Flyweight,MM的名字就是提取出來的外部特征,根據(jù)上下文情況使用。
享元模式:FLYWEIGHT在拳擊比賽中指最輕量級。享元模式以共享的方式高效的支持大量 的細(xì)粒度對象。享元模式能做到共享的關(guān)鍵是區(qū)分內(nèi)蘊(yùn)狀態(tài)和外蘊(yùn)狀態(tài)。內(nèi)蘊(yùn)狀態(tài)存儲在 享元內(nèi)部,不會隨環(huán)境的改變而有所不同。外蘊(yùn)狀態(tài)是隨環(huán)境的改變而改變的。外蘊(yùn)狀態(tài) 不能影響內(nèi)蘊(yùn)狀態(tài),它們是相互獨(dú)立的。將可以共享的狀態(tài)和不可以共享的狀態(tài)從常規(guī)類 中區(qū)分開來,將不可以共享的狀態(tài)從類里剔除出去。客戶端不可以直接創(chuàng)建被共享的對象,而應(yīng)當(dāng)使用一個工廠對象負(fù)責(zé)創(chuàng)建被共享的對象。享元模式大幅度的降低內(nèi)存中對象的 數(shù)量。
12、PROXY—跟MM在網(wǎng)上聊天,一開頭總是“hi,你好”,“你從哪兒來呀?”“你多大了 ?”“身高多少呀?”這些話,真煩人,寫個程序做為我的Proxy吧,凡是接收到這些話 都設(shè)置好了自動的回答,接收到其他的話時再通知我回答,怎么樣,酷吧。
代理模式:代理模式給某一個對象提供一個代理對象,并由代理對象控制對源對象的引用。代理就是一個人或一個機(jī)構(gòu)代表另一個人或者一個機(jī)構(gòu)采取行動。某些情況下,客戶不 想或者不能夠直接引用一個對象,代理對象可以在客戶和目標(biāo)對象直接起到中介的作用。客戶端分辨不出代理主題對象與真實(shí)主題對象。代理模式可以并不知道真正的被代理對象,而僅僅持有一個被代理對象的接口,這時候代理對象不能夠創(chuàng)建被代理對象,被代理對 象必須有系統(tǒng)的其他角色代為創(chuàng)建并傳入。
行為模式
13、CHAIN OF RESPONSIBLEITY—晚上去上英語課,為了好開溜坐到了最后一排,哇,前 面坐了好幾個漂亮的MM哎,找張紙條,寫上“Hi,可以做我的女朋友嗎?如果不愿意請向 前傳”,紙條就一個接一個的傳上去了,糟糕,傳到第一排的MM把紙條傳給老師了,聽說 是個老處女呀,快跑!
責(zé)任鏈模式:在責(zé)任鏈模式中,很多對象由每一個對象對其下家的引用而接
起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某一個對象決定處理此請求。客戶并 不知道鏈上的哪一個對象最終處理這個請求,系統(tǒng)可以在不影響客戶端的情況下動態(tài)的重 新組織鏈和分配責(zé)任。處理者有兩個選擇:承擔(dān)責(zé)任或者把責(zé)任推給下家。一個請求可以 最終不被任何接收端對象所接受。
14、COMMAND—俺有一個MM家里管得特別嚴(yán),沒法見面,只好借助于她弟弟在我們倆之間 傳送信息,她對我有什么指示,就寫一張紙條讓她弟弟帶給我。這不,她弟弟又傳送過來 一個COMMAND,為了感謝他,我請他吃了碗雜醬面,哪知道他說:“我同時給我姐姐三個
男朋友送COMMAND,就數(shù)你最小氣,才請我吃面。”,命令模式:命令模式把一個請求或者操作封裝到一個對象中。命令模式把發(fā)出命令的責(zé)任 和執(zhí)行命令的責(zé)任分割開,委派給不同的對象。命令模式允許請求的一方和發(fā)送的一方獨(dú) 立開來,使得請求的一方不必知道接收請求的一方的接口,更不必知道請求是怎么被接收,以及操作是否執(zhí)行,何時被執(zhí)行以及是怎么被執(zhí)行的。系統(tǒng)支持命令的撤消。
15、INTERPRETER—俺有一個《泡MM真經(jīng)》,上面有各種泡MM的攻略,比如說去吃西餐的 步驟、去看電影的方法等等,跟MM約會時,只要做一個Interpreter,照著上面的腳本執(zhí) 行就可以了。
解釋器模式:給定一個語言后,解釋器模式可以定義出其文法的一種表示,并同時提供一 個解釋器。客戶端可以使用這個解釋器來解釋這個語言中的句子。解釋器模式將描述怎樣 在有了一個簡單的文法后,使用模式設(shè)計解釋這些語句。在解釋器模式里面提到的語言是 指任何解釋器對象能夠解釋的任何組合。在解釋器模式中需要定義一個代表文法的命令類 的等級結(jié)構(gòu),也就是一系列的組合規(guī)則。每一個命令對象都有一個解釋方法,代表對命令 對象的解釋。命令對象的等級結(jié)構(gòu)中的對象的任何排列組合都是一個語言。
16、ITERATOR—我愛上了Mary,不顧一切的向她求婚。
Mary:“想要我跟你結(jié)婚,得答應(yīng)我的條件”
我:“什么條件我都答應(yīng),你說吧”
Mary:“我看上了那個一克拉的鉆石”
我:“我買,我買,還有嗎?”
Mary:“我看上了湖邊的那棟別墅”
我:“我買,我買,還有嗎?”
Mary:“你的小弟弟必須要有50cm長”
我腦袋嗡的一聲,坐在椅子上,一咬牙:“我剪,我剪,還有嗎?”
??
迭代子模式:迭代子模式可以順序訪問一個聚集中的元素而不必暴露聚集的內(nèi)部表象。多 個對象聚在一起形成的總體稱之為聚集,聚集對象是能夠包容一組對象的容器對象。迭代 子模式將迭代邏輯封裝到一個獨(dú)立的子對象中,從而與聚集本身隔開。迭代子模式簡化了 聚集的界面。每一個聚集對象都可以有一個或一個以上的迭代子對象,每一個迭代子的迭
代狀態(tài)可以是彼此獨(dú)立的。迭代算法可以獨(dú)立于聚集角色變化。
17、MEDIATOR—四個MM打麻將,相互之間誰應(yīng)該給誰多少錢算不清楚了,幸虧當(dāng)時我在旁 邊,按照各自的籌碼數(shù)算錢,賺了錢的從我這里拿,賠了錢的也付給我,一切就OK啦,俺 得到了四個MM的電話。
調(diào)停者模式:調(diào)停者模式包裝了一系列對象相互作用的方式,使得這些對象不必相互明顯 作用。從而使他們可以松散偶合。當(dāng)某些對象之間的作用發(fā)生改變時,不會立即影響其他 的一些對象之間的作用。保證這些作用可以彼此獨(dú)立的變化。調(diào)停者模式將多對多的相互 作用轉(zhuǎn)化為一對多的相互作用。調(diào)停者模式將對象的行為和協(xié)作抽象化,把對象在小尺度 的行為上與其他對象的相互作用分開處理。
18、MEMENTO—同時跟幾個MM聊天時,一定要記清楚剛才跟MM說了些什么話,不然MM發(fā)現(xiàn) 了會不高興的哦,幸虧我有個備忘錄,剛才與哪個MM說了什么話我都拷貝一份放到備忘錄 里面保存,這樣可以隨時察看以前的記錄啦。
備忘錄模式:備忘錄對象是一個用來存儲另外一個對象內(nèi)部狀態(tài)的快照的對象。備忘錄模 式的用意是在不破壞封裝的條件下,將一個對象的狀態(tài)捉住,并外部化,存儲起來,從而 可以在將來合適的時候把這個對象還原到存儲起來的狀態(tài)。
19、OBSERVER—想知道咱們公司最新MM情報嗎?加入公司的MM情報郵件組就行了,tom負(fù) 責(zé)搜集情報,他發(fā)現(xiàn)的新情報不用一個一個通知我們,直接發(fā)布給郵件組,我們作為訂閱 者(觀察者)就可以及時收到情報啦
觀察者模式:觀察者模式定義了一種一隊多的依賴關(guān)系,讓多個觀察者對象同時監(jiān)聽某一 個主題對象。這個主題對象在狀態(tài)上發(fā)生變化時,會通知所有觀察者對象,使他們能夠自 動更新自己。
20、STATE—跟MM交往時,一定要注意她的狀態(tài)哦,在不同的狀態(tài)時她的行為會有不同,比如你約她今天晚上去看電影,對你沒興趣的MM就會說“有事情啦”,對你不討厭但還沒 喜歡上的MM就會說“好啊,不過可以帶上我同事么?”,已經(jīng)喜歡上你的MM就會說“幾點(diǎn) 鐘?看完電影再去泡吧怎么樣?”,當(dāng)然你看電影過程中表現(xiàn)良好的話,也可以把MM的狀 態(tài)從不討厭不喜歡變成喜歡哦。
狀態(tài)模式:狀態(tài)模式允許一個對象在其內(nèi)部狀態(tài)改變的時候改變行為。這個對象看上去象 是改變了它的類一樣。狀態(tài)模式把所研究的對象的行為包裝在不同的狀態(tài)對象里,每一個 狀態(tài)對象都屬于一個抽象狀態(tài)類的一個子類。狀態(tài)模式的意圖是讓一個對象在其內(nèi)部狀態(tài) 改變的時候,其行為也隨之改變。狀態(tài)模式需要對每一個系統(tǒng)可能取得的狀態(tài)創(chuàng)立一個狀 態(tài)類的子類。當(dāng)系統(tǒng)的狀態(tài)變化時,系統(tǒng)便改變所選的子類。
21、STRATEGY—跟不同類型的MM約會,要用不同的策略,有的請電影比較好,有的則去吃 小吃效果不錯,有的去海邊浪漫最合適,單目的都是為了得到MM的芳心,我的追MM錦囊中 有好多Strategy哦。
策略模式:策略模式針對一組算法,將每一個算法封裝到具有共同接口的獨(dú)立的類中,從 而使得它們可以相互替換。策略模式使得算法可以在不影響到客戶端的情況下發(fā)生變化。策略模式把行為和環(huán)境分開。環(huán)境類負(fù)責(zé)維持和查詢行為類,各種算法在具體的策略類中 提供。由于算法和環(huán)境獨(dú)立開來,算法的增減,修改都不會影響到環(huán)境和客戶端。
22、TEMPLATE METHOD——看過《如何說服女生上床》這部經(jīng)典文章嗎?女生從認(rèn)識到上 床的不變的步驟分為巧遇、打破僵局、展開追求、接吻、前戲、動手、愛撫、進(jìn)去八大步 驟(Template method),但每個步驟針對不同的情況,都有不一樣的做法,這就要看你隨 機(jī)應(yīng)變啦(具體實(shí)現(xiàn));
模板方法模式:模板方法模式準(zhǔn)備一個抽象類,將部分邏輯以具體方法以及具體構(gòu)造子的 形式實(shí)現(xiàn),然后聲明一些抽象方法來迫使子類實(shí)現(xiàn)剩余的邏輯。不同的子類可以以不同的 方式實(shí)現(xiàn)這些抽象方法,從而對剩余的邏輯有不同的實(shí)現(xiàn)。先制定一個頂級邏輯框架,而 將邏輯的細(xì)節(jié)留給具體的子類去實(shí)現(xiàn)。
23、VISITOR—情人節(jié)到了,要給每個MM送一束鮮花和一張卡片,可是每個MM送的花都要 針對她個人的特點(diǎn),每張卡片也要根據(jù)個人的特點(diǎn)來挑,我一個人哪搞得清楚,還是找花 店老板和禮品店老板做一下Visitor,讓花店老板根據(jù)MM的特點(diǎn)選一束花,讓禮品店老板 也根據(jù)每個人特點(diǎn)選一張卡,這樣就輕松多了;
訪問者模式:訪問者模式的目的是封裝一些施加于某種數(shù)據(jù)結(jié)構(gòu)元素之上的操作。一旦這 些操作需要修改的話,接受這個操作的數(shù)據(jù)結(jié)構(gòu)可以保持不變。訪問者模式適用于數(shù)據(jù)結(jié) 構(gòu)相對未定的系統(tǒng),它把數(shù)據(jù)結(jié)構(gòu)和作用于結(jié)構(gòu)上的操作之間的耦合解脫開,使得操作集 合可以相對自由的演化。訪問者模式使得增加新的操作變的很容易,就是增加一個新的訪 問者類。訪問者模式將有關(guān)的行為集中到一個訪問者對象中,而不是分散到一個個的節(jié)點(diǎn) 類中。當(dāng)使用訪問者模式時,要將盡可能多的對象瀏覽邏輯放在訪問者類中,而不是放到 它的子類中。訪問者模式可以跨過幾個類的等級結(jié)構(gòu)訪問屬于不同的等級結(jié)構(gòu)的成員類。
第二篇:我寫的設(shè)計模式的文章總結(jié)
設(shè)計模式
設(shè)計模式的理解
研讀GOF的“設(shè)計模式”和閻宏博士的“Java 與模式”已經(jīng)有一段時間,自己頗有一些體會,自己面向?qū)ο蠛蛙浖O(shè)計模式有了一些深入的理解,下面就一步一步開始自己的模式歷程吧,從最簡單的工廠模式到適配器模式,從 State模式到Decorator模式,一直到最復(fù)雜難懂的visitor模式,沒有一個模式不體現(xiàn)了前輩的聰明才智,需要我們大家用心去體會和理解
恰當(dāng)?shù)厥褂迷O(shè)計模式,能使軟件系統(tǒng)的架構(gòu)更合理,能使將來的維護(hù)和修改更方便,能使數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計更合理,恰當(dāng)?shù)娜哂嗪蛿?shù)據(jù)關(guān)聯(lián),能使我們的軟件更多地適應(yīng)變化,總之,它的的作用是不可低估的!
1,簡單工廠,工廠方法和抽象工廠模式
對于簡單工廠來說,它的工廠只能是這個樣子的 public class SimplyFactory { /** * 靜態(tài)工廠方法 */ public static Prouct factory(String which)throw NoSuchProductExcption {
if(which.equalIgnoreCase(“product1”))
{
return new Product1();
}
else if(which.equalsIgnoreCase(“product2”))
{
return new Product2();
}
else if(which.equalsIgnoreCase(“product3”))
{
return new Product3();
}
else throw NoSuchProductExcption(“NoSuchProduct”);
} } }
而對產(chǎn)品Product1,Product2,Product3,可以執(zhí)行接口Product,也可以不執(zhí)行接口Product(當(dāng)然這樣不好),這個Product接口只是用來抽象具體product用的
public interface Product {
第三篇:網(wǎng)評文章寫法模式
網(wǎng)評文章寫法模式
“終身負(fù)責(zé)”將冤假錯案帶進(jìn)“春天里”
昨日,最高人民檢察院發(fā)布了《關(guān)于完善人民檢察院司法責(zé)任制的若干意見》全文(下稱《意見》)。意見規(guī)定,檢察官必須在司法一線辦案,并對辦案質(zhì)量終身負(fù)責(zé),一旦確認(rèn)發(fā)生冤假錯案,將一律啟動問責(zé)機(jī)制。(9月29日,人民網(wǎng))
《意見》中指出,檢察人員在職責(zé)范圍內(nèi)對辦案質(zhì)量終身負(fù)責(zé)。倘若被告人被宣告無罪,國家承擔(dān)賠償責(zé)任,確認(rèn)發(fā)生冤假錯案,一律啟動問責(zé)機(jī)制,核查是否存在應(yīng)予追究司法責(zé)任的情形。此舉無疑將法治社會的進(jìn)程推上了一個新的臺階,將冤假錯案帶進(jìn)“春天里”。說起冤假錯案,都是讓人深惡痛絕的事情。倘若這類發(fā)生在案件的當(dāng)事人身上,對于一個人、一個家庭所帶來的打擊是沉痛的。而發(fā)生這類事情的概率也不是想象中的千分之幾或者萬分之幾,對于當(dāng)事人來講都是百分之百的不幸。記得曾經(jīng)轟動一時的呼格吉勒錯殺案,到頭來才知道是錯殺、錯判所致。而人死不能復(fù)生,用再多的懺悔、再多的金錢都無法挽回逝去生命。
事實(shí)上,誰都不愿意一手制造冤假錯案,出于良心、出于公心、出于職責(zé),每一位檢察官都想將案件辦好、辦實(shí)、辦細(xì)。然而,有些時候,一些檢察官為了所謂的辦案數(shù)量、辦案結(jié)案率以及辦案時間等諸多指標(biāo)和考核,往往會忽略了最重要的辦案質(zhì)量。在可辦可不辦的情況下,給辦了;在可追究可不追究的情況下,追究了。看起來是從重、從快,給檢察官增添了諸多業(yè)績和政績,實(shí)際上卻給當(dāng)事人帶來了諸多“難言之隱”,極易造成冤假錯案,也讓檢察官的形象不會因此而變得高大。
而“終身負(fù)責(zé)”,定能助力告別冤假錯案。試想,萬一哪個案件辦錯了,冤枉了好人、殺錯了好人,哪怕是檢察官已經(jīng)退休或者是花甲之年,都難逃曾經(jīng)辦錯案所帶來的不利后果,那么,作為檢察官,哪頭重哪頭輕,如何做到嚴(yán)密、謹(jǐn)慎辦案,更是首先要考慮和必須具備的基本條件。我們有理由相信,檢察官辦案“終身負(fù)責(zé)”定能將冤假錯案帶來一個嶄新的春天。作者口2733740549長期兼職代寫黨建類時評,保證原創(chuàng),長期合作
發(fā)展農(nóng)村淘寶,豈能靠政府強(qiáng)制網(wǎng)購?
據(jù)報道,24日,網(wǎng)上傳出的一張有扶風(fēng)縣人大常委會辦公室公章及落款的“通知”中寫道:“機(jī)關(guān)各位領(lǐng)導(dǎo)和同志:我縣農(nóng)村淘寶項(xiàng)目定于9月23日啟動運(yùn)營,按阿里集團(tuán)業(yè)績目標(biāo),運(yùn)營首日全縣36個村淘寶點(diǎn)訂單要求達(dá)到一萬單。”通知最后稱,“請機(jī)關(guān)各位同志近期準(zhǔn)備所需購買物品清單,每人消費(fèi)暫定1000元。” 據(jù)了解,扶風(fēng)縣阿里巴巴“農(nóng)村淘寶”項(xiàng)目是在本月23日正式啟動的,縣級服務(wù)中心和第一批35個村級服務(wù)點(diǎn)也在同日開始運(yùn)營。當(dāng)天,前往35個村級服務(wù)點(diǎn)參與網(wǎng)絡(luò)代購的有5000多人,購買單量3440筆,成交額達(dá)到306萬元。
這樣的“強(qiáng)制消費(fèi)”行為受到網(wǎng)友、媒體痛扁。壓力之下,扶風(fēng)縣人大做出解釋稱,他們只是“倡議”,而非“強(qiáng)制”。可是,我們確實(shí)很難從字里行間嗅出有“倡議”的氣味。
發(fā)展農(nóng)村淘寶,是當(dāng)今各級政府的一個新課題。確實(shí),農(nóng)村淘寶既能足不出戶就能淘到優(yōu)質(zhì)廉價的寶貝,又能為自己增加一條致富的通道,同時解決地方就業(yè)及經(jīng)濟(jì)發(fā)展的問題。在全國近幾年盛行的淘寶縣、淘寶村的大氛圍之下,很多地方政府紛紛效仿,爭取能夠憑借過國家鼎力支持的東風(fēng),能夠分得一杯羹。
可是發(fā)展農(nóng)村淘寶,僅僅靠政府的強(qiáng)制消費(fèi)就可以確保走上正軌嗎?阿里巴巴對業(yè)績的要求,從來就沒有首日成交必須有多少金額的限制?懂行的人都知道,首日上線運(yùn)營不可能有上百萬元的成交,除非是虧本銷售。政府這樣的行為,無非是為了給自己的政績畫上一個美麗的符號,可是這樣的符號確實(shí)中看不中用。
其次,政府不能以行政手段干預(yù)市場行為,甚至實(shí)行地方保護(hù)主義。政府在推動當(dāng)?shù)剞r(nóng)村淘寶發(fā)展中,要注重因地制宜,根據(jù)自己地區(qū)的特色來策劃自己的特色產(chǎn)品,要聘請優(yōu)秀的網(wǎng)購運(yùn)營商來指導(dǎo)如何發(fā)展農(nóng)村電商。實(shí)地經(jīng)營也好,電商也罷,說白了都是一場生意。生意場上都是實(shí)戰(zhàn),不是花拳繡腿,不是敷衍作秀,確實(shí)需要地方政府的引導(dǎo),但是更重要的是要憑借實(shí)力才能站住腳跟。
第四篇:寫景文章的教學(xué)模式
寫景類文章的教學(xué)模式初探
翻開蘇教版的語文課本,你會發(fā)現(xiàn)許多文章都是文質(zhì)兼美,生動有趣。特別是寫景的文章語言優(yōu)美,意境深遠(yuǎn),展現(xiàn)了一幅幅栩栩如生、令人陶醉的畫面。那么如何引領(lǐng)學(xué)生走進(jìn)文中的精彩世界,感受到語言文字的魅力,體會到文章所要表達(dá)的情感。基于自身膚淺的認(rèn)識,我對寫景類課文進(jìn)行了課堂教學(xué)初步探究,從中揣摩到一些關(guān)于寫景類課文的有效教學(xué)模式。
一、課前預(yù)習(xí),促求新知,儲備美
課前預(yù)習(xí),即是讓學(xué)生帶著已有的知識基礎(chǔ)走進(jìn)課堂,這是實(shí)施有效教學(xué)策略的首要任務(wù)。在進(jìn)行寫景類文章教學(xué)前,教師要根據(jù)課文內(nèi)容提前布置預(yù)習(xí),讓學(xué)生觀察、搜集有關(guān)文本內(nèi)容的圖片、文字和影像等資料,以促進(jìn)學(xué)生探求新知的興趣,激發(fā)閱讀期待。
比如,在執(zhí)教蘇教版第七冊《九寨溝》一課時可以布置學(xué)生課前搜集有關(guān)九寨溝的圖片和文字資料。學(xué)生搜集資料有最基本的三個途徑:第一,詢問父母關(guān)于九寨溝的知識;第二,瀏覽圖書查閱關(guān)于九寨溝的圖片和文字資料;第三,上網(wǎng)搜集關(guān)于九寨溝美景的影像資料。在課堂教學(xué)中,因?qū)W生對九寨溝已經(jīng)有了初步的了解和認(rèn)識,因而對文本的理解就起了良好的鋪墊作用。由此,我們認(rèn)識到學(xué)生搜集資料的過程實(shí)際就是對課文內(nèi)容的初次認(rèn)知、儲備的過程,在搜集資料的過程中,學(xué)生對文本內(nèi)容產(chǎn)生了強(qiáng)烈的閱讀期待,這是促進(jìn)學(xué)生自主探求新知的一種有效教學(xué)策略。
二、創(chuàng)設(shè)情境,直觀導(dǎo)入,激發(fā)美
寫景類的文章,學(xué)生很難在頭腦中建立起課文所描繪的景物的整體形象,因而就無從把握景物所體現(xiàn)的內(nèi)容、思想和情感。為此,教師在教學(xué)寫景文章時,特別是在導(dǎo)入新課時,應(yīng)恰當(dāng)運(yùn)用多媒體教學(xué)手段,創(chuàng)設(shè)教學(xué)情境,形象、直觀、生動地再現(xiàn)課文。如在新授《泉城》一課時,教師可運(yùn)用多媒體、掛圖等手段,為學(xué)生展示一幅幅與文本相關(guān)的泉水,并配以悅耳的音樂,帶學(xué)生走進(jìn)泉城——濟(jì)南,初步領(lǐng)略泉城的美麗、聞名,從而喚起學(xué)生進(jìn)一步感受的欲望,為下一步深入文本的學(xué)習(xí)做好充分的心理準(zhǔn)備。
三、初讀課文,整體感知,感受美
1、檢查預(yù)習(xí)讓學(xué)生帶著初步的感性認(rèn)識自由地朗讀課文,掃清生字障礙。這是閱讀的最低要求,也是最基礎(chǔ)的要求。在學(xué)生預(yù)習(xí)課文的基礎(chǔ)上,從詞語的認(rèn)讀、生字的讀音、整篇課文的正確流利朗讀三方面來檢查學(xué)生的預(yù)習(xí)效果,掌握學(xué)生的預(yù)習(xí)情況,便于做到以學(xué)定教。語言障礙解決了,這就為進(jìn)一步從語言文字入手來理解課文打下了基礎(chǔ)。
2、整體感知
檢查預(yù)習(xí)之后,應(yīng)引導(dǎo)學(xué)生從整體入手進(jìn)行閱讀感知,對課文內(nèi)容有一個大概地了解。如:課文寫了哪里的美景?你能不能用一句話或幾個詞語來概括一下這里的美景?使學(xué)生對課文的主要內(nèi)容有個全景式的整體感知,了解課文主要寫了什么,初步感受到景物的美。
3、質(zhì)疑問難
鼓勵學(xué)生獨(dú)立思考,質(zhì)疑問難,這是提高學(xué)生提出問題和解決問題的好辦法,同時問題的提出也可以相應(yīng)地為課堂精彩地生成而做好準(zhǔn)備。
四、精讀文本,品讀評析,欣賞美
1、批注閱讀
在學(xué)生對文本整體感知的基礎(chǔ)上,教師可以設(shè)計一個統(tǒng)領(lǐng)全文的問題作為切入點(diǎn),引導(dǎo)學(xué)生帶著問題批注閱讀。如:你是從哪些句段體會到九寨溝是個充滿詩情畫意的人間仙境?你是從哪兒感受到荷蘭田園風(fēng)光的如詩如畫???寫批注就是在圈點(diǎn)的基礎(chǔ)上,在旁邊寫下自己對文章的思索、感悟。批注的方式多種多樣。它可以是自己對文章內(nèi)容的理解,也可以是自己對文章內(nèi)容的反思、懷疑,還可以是對文章表達(dá)的情感所產(chǎn)生的共鳴,甚至可以是自己對文章內(nèi)容的重新舉例等。再通過小組交流——小組匯報——教師相機(jī)引導(dǎo),體會景物特征,指導(dǎo)感情朗讀,理解課文內(nèi)容。
2、品讀欣賞
每一篇寫景課文都有重點(diǎn)的段落,要么文字優(yōu)美,詞匯豐富,用語精當(dāng),要么是最能體現(xiàn)景物的特色,要么是最能表達(dá)作者豐富的情感??不管是哪一類型的段落,我們都可以引導(dǎo)學(xué)生邊讀邊想象,透過語言文字的表述進(jìn)行情感體驗(yàn)、想象創(chuàng)造。
在這一環(huán)節(jié),教師一定要引導(dǎo)學(xué)生品詞析句,學(xué)習(xí)作者遣詞造句的方法,適當(dāng)進(jìn)行詞句的理解和擴(kuò)展訓(xùn)練,以豐富學(xué)生語言,豐厚學(xué)生文化底蘊(yùn),這是有效教學(xué)策略之一。教師可以根據(jù)課文中的重點(diǎn)詞語進(jìn)行詞語的拓展練習(xí),比如學(xué)生對“色彩斑斕”一詞并不難,但要引導(dǎo)學(xué)生積累它的近義詞,如五彩繽紛、五顏六色、萬紫千紅、姹紫嫣紅和五光十色等,以進(jìn)一步夯實(shí)語文基礎(chǔ)。
五、回歸整體,梳理寫法,升華美
讀評析,欣賞過景物的美之后,教師還應(yīng)該引導(dǎo)學(xué)生回顧全文,在誦讀中從整體上把握文章的主要內(nèi)容、思想感情,升華對美景的熱愛之情。同時還要把交流中感悟到的作者的表達(dá)方法加以系統(tǒng)地梳理,體會這樣寫的好處,內(nèi)化為自己的語言,為作文打基礎(chǔ)。
六、讀寫結(jié)合,拓展練筆,創(chuàng)造美
寫景的文章中蘊(yùn)藏著極其豐富的讀寫結(jié)合的資源,教師可以依據(jù)學(xué)生的不同水平設(shè)計出不同層次的片段練筆,使學(xué)生學(xué)以致用,舉一反三,及時鞏固所學(xué)的表達(dá)方法,不斷提高習(xí)作能力。
第五篇:設(shè)計模式心得體會
設(shè)計模式心得體會
第一篇:設(shè)計模式
7月初的一個周末,準(zhǔn)確的說應(yīng)該是7月1號周六,在網(wǎng)上看到一本《大話設(shè)計模式》的書,而且看到很多很好的評論,于是乎,下載了電子書看看,一下子看了幾章之后,對設(shè)計模式有了個了解,于是繼續(xù)上網(wǎng)搜些其他資料,進(jìn)一步了解設(shè)計模式。最終結(jié)論:設(shè)計模式是個好東西,具體怎么好,一兩句話是無法概括的,也是從那天起,我就決定學(xué)習(xí)設(shè)計模式,于是就看《大話設(shè)計模式》,至七月十多號,大概看了一百多頁后,感覺有點(diǎn)難,有點(diǎn)看不下去的感覺,于是上網(wǎng)找其他的好方法,無意間發(fā)現(xiàn)了李建忠老師的《c#設(shè)計模式縱橫談》系列講座,微軟的webcast課程,主要講解gof的xx個設(shè)計模式,每個一講,加上一頭一尾,共xx講,試聽了一節(jié)課后,感覺很有用,于是就抽時間去邊聽課邊看書,并在我的博客里寫下筆記,依賴加深印象,二來可以督促我的進(jìn)度。
三個月以來,總算把設(shè)計模式學(xué)完一遍了,原計劃是兩個月學(xué)完(一星期三個模式),由于。計劃兩個月學(xué)完實(shí)際花了三個月,感觸多多,收獲多多——對c#語言有了更進(jìn)一步的認(rèn)識,對oo的思想有了更全面的了解。下一步在設(shè)計模式方面的計劃:鞏固并運(yùn)用設(shè)計模式,鞏固:把《大話設(shè)計模式》,《設(shè)計模式》,《設(shè)計模式——可復(fù)用的面向?qū)ο蠡A(chǔ)》,《敏捷軟件開發(fā):原則、模式與實(shí)踐》這些書再結(jié)合起來系統(tǒng)的看一看,當(dāng)然還會去買一些我手頭上沒有的關(guān)于設(shè)計模式的書;運(yùn)用:部門前幾天也提倡用c#來改版vb程序,我想這是一個很好的平臺,正好有機(jī)會把理論的東西在實(shí)際中應(yīng)用,理論加實(shí)際——唯一的學(xué)習(xí)方法。
下面對各個模式再簡單總結(jié)一下:
1、創(chuàng)建型模式:
singleton:解決的是實(shí)例化對象的個數(shù)的問題,比如抽象工廠中的工廠、對象池等,除了singleton之外,其他創(chuàng)建型模式解決的都是new所帶來的耦合關(guān)系。
abstractfactory:創(chuàng)建一系列相互依賴對象,并能在運(yùn)行時改變系列。
factorymethod:創(chuàng)建單個對象,在abstractfactory有使用到。
prototype:通過拷貝原型來創(chuàng)建新的對象。
factorymethod,abstractfactory,builder都需要一個額外的工廠類來負(fù)責(zé)實(shí)例化一邊對象,而prototype則是通過原型(一個特殊的工廠類)來克隆易變對象。
如果遇到易變類,起初的設(shè)計通常從factorymethod開始,當(dāng)遇到更多的復(fù)雜變化時,再考慮重構(gòu)為其他三種工廠模式(factorymethod,abstractfactory,builder)。
2、結(jié)構(gòu)性模式
adapter:注重轉(zhuǎn)換接口,將不吻合的接口適配對象,用于舊代碼復(fù)用、類庫遷移等。
bridge:注重實(shí)現(xiàn)抽象和實(shí)現(xiàn)的分離,支持對象多維度的變化。
composite:注重同意接口,將一對多的關(guān)系轉(zhuǎn)化為一對一的關(guān)系,屏蔽對象容器內(nèi)部實(shí)現(xiàn)結(jié)構(gòu),實(shí)現(xiàn)對象和對象容器使用的一致性。
decorator:注重穩(wěn)定接口,在此前提下為對象擴(kuò)展功能,實(shí)現(xiàn)對象功能的擴(kuò)展,避免子類膨脹。
facade:注重簡化接口,屏蔽各子系統(tǒng)的復(fù)雜性,提供更高層接口供客戶訪問。
flyweight:注重保留接口,在內(nèi)部使用共享技術(shù)對對象存儲進(jìn)行優(yōu)化(通過共享大量細(xì)粒度對象,提供系統(tǒng)性能)。
proxy:注重假借接口,通過增加間接代理,實(shí)現(xiàn)更多控制,屏蔽復(fù)雜性。
3、行為型模式
templatemethod:封裝算法結(jié)構(gòu),定義算法骨架,支持算法子步驟變化。
strategy:注重封裝算法,支持算法的變化,通過封裝一系列算法,從而可以隨時獨(dú)立于客戶替換算法。
state:注重封裝與狀態(tài)相關(guān)的行為,支持狀態(tài)的變化,通過封裝對象狀態(tài),從而在其內(nèi)部狀態(tài)改變時改變它的行為。
memento:注重封裝對象狀態(tài)變化,支持狀態(tài)保存、恢復(fù)。
mediator:注重封裝對象間的交互,通過封裝一系列對象之間的復(fù)雜交互,使他們不需要顯式相互引用,實(shí)現(xiàn)解耦。
chainofresponsibility:注重封裝對象責(zé)任,支持責(zé)任的變化,通過動態(tài)構(gòu)建職責(zé)鏈,實(shí)現(xiàn)事務(wù)處理。
command:注重將請求封裝為對象,支持請求的變化,通過將一組行為抽象為對象,實(shí)現(xiàn)行為請求者和行為實(shí)現(xiàn)者之間的解耦。
iterator:注重封裝特定領(lǐng)域變化,支持集合的變化,屏蔽集合對象內(nèi)部復(fù)雜結(jié)構(gòu),提供客戶程序?qū)λ耐该鞅闅v。
interpreter:注重封裝特定領(lǐng)域變化,支持領(lǐng)域問題的頻繁變化,將特定領(lǐng)域的問題表達(dá)為某種語法規(guī)則下的句子,然后構(gòu)建一個解釋器來解釋這樣的句子,從而達(dá)到解決問題的目的。
observer:注重封裝對象通知,支持通信對象的變化,實(shí)現(xiàn)對象狀態(tài)改變,通知依賴它的對象并更新。
visitor:注重封裝對象操作變化,支持在運(yùn)行時為類結(jié)構(gòu)添加新的操作,在類層次結(jié)構(gòu)中,在不改變各類的前提下定義作用于這些類實(shí)例的新的操作。
正確對待模式:
設(shè)計模式建立在對系統(tǒng)變化點(diǎn)的基礎(chǔ)上進(jìn)行,哪里有變化,哪里就應(yīng)用設(shè)計模式。
設(shè)計模式應(yīng)該以演化的方式來獲得,系統(tǒng)的變化點(diǎn)往往是經(jīng)過不斷演化才能準(zhǔn)確定位。
不能為了模式而模式,設(shè)計模式是一種軟件設(shè)計的軟力量,而非規(guī)范標(biāo)準(zhǔn),不應(yīng)夸大設(shè)計模式的作用。
設(shè)計模式心得體會(2):
從一開始學(xué)習(xí)設(shè)計模式至今已半年有余了,第一次接觸設(shè)計模式是一次不經(jīng)意間在網(wǎng)上看到《大話設(shè)計模式》一書,看了前言了第一章后,就感覺到其誘惑力對于一個程序員來說,是無比巨大的。大概是去年十月份的時候,部門決定成立讀書會,系統(tǒng)學(xué)習(xí)設(shè)計模式。
通過學(xué)習(xí)設(shè)計模式,除了學(xué)習(xí)到一些設(shè)計模式,還讓我進(jìn)一步熟悉、鞏固了面向?qū)ο笏枷耄M(jìn)一步熟悉了c#語言。我曾多次設(shè)想,我們?nèi)绻朊嫦驅(qū)ο笏枷耄⒔Y(jié)合設(shè)計模式來重寫或改善我們的系統(tǒng)(必須重寫,雖說設(shè)計模式只是一種思想,語言只是實(shí)現(xiàn)而已,但是選擇一門好的語言,無疑也是非常重要的,而vb6在面向?qū)ο蠓矫鎱s有很大欠缺甚至不具備其條件),那么我們的系統(tǒng)將會像目前一樣需要那么多人來維護(hù)嗎?
《大話設(shè)計模式》一書其實(shí)是對gof的《設(shè)計模式——可復(fù)用面向?qū)ο筌浖幕A(chǔ)》一書的翻譯,讓人更容易理解,用通俗易懂的語言闡述軟件設(shè)計過程中的一些模式,在某種特定環(huán)境下,用最好的設(shè)計方法(代碼高內(nèi)聚,低耦合,使其有良好的可擴(kuò)展性和可維護(hù)性)達(dá)到我們的目的,或許其方法有很多很多,但是尋找到最好的方法卻不是件容易的事,設(shè)計模式是對前人的設(shè)計經(jīng)驗(yàn)的一個總結(jié),告訴我們在某種特定的環(huán)境下,這樣的設(shè)計師最好的,學(xué)習(xí)設(shè)計模式有助于我們在設(shè)計軟件的過程中少走很多彎路。
我對gof的xx個設(shè)計模式雖然都有看過,但是只有理解,實(shí)現(xiàn),應(yīng)用及思考之后,才能真正體會其精妙之處,至今體會較深的有以下幾個模式:1strategy——封裝系列算法,讓它們之間可以相互替換,算法并不是單指數(shù)據(jù)結(jié)構(gòu)中的算法,在實(shí)踐中,它幾乎可以封裝任何類型的規(guī)則,這使得策略模式的運(yùn)用極其廣泛;2templatemethod——有人說是用的做多的模式,只要有抽象類的地方,都可以看到這個模式,它通過把不變行為移到父類中去,去除子類中的重復(fù)代碼,從而提供了一個很好的代碼復(fù)用平臺;3facade——提供了對基礎(chǔ)架構(gòu)的統(tǒng)一訪問,減少復(fù)雜性,在web編程者中的三層架構(gòu),就是此思想,每一層都封裝好一部分功能,提供給上一層統(tǒng)一的方法調(diào)用,整個framework體系就是facade模式的封裝,隨著xx升級到xx,越來越多復(fù)雜的高級功能被封裝,可以說facade無處不在;4abstractfactory——提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類,咋一看,太抽象了,說個例子,在三層架構(gòu)中,bll層對dal層的調(diào)用會直接用到dal層中的類,如果dal層是分別對sqlserver,oracle的訪問,bll層需要根據(jù)實(shí)際情況決定實(shí)例化哪一個dal層中的類,我們又希望在兩種dal層切換時,bll層和ui層都不做改變,那么可在bll層和dal層中增加接口層(體現(xiàn)了抽象的精神,或者說是面向接口編程的最佳體現(xiàn))和抽象工廠(dalfactroy),讓它來實(shí)例化dal層中的實(shí)例;5singleton——確保一個類僅有一個實(shí)例,并提供一個訪問它的全局訪問點(diǎn),如單件窗體,點(diǎn)一下menu,彈出一個窗體(實(shí)例),在關(guān)閉這個新窗體之前,再次點(diǎn)擊該menu,不會再次出現(xiàn)同樣的彈出窗體(實(shí)例)。篇幅有限,其他模式或多或少都有點(diǎn)感覺。
最后,引用《設(shè)計模式解析》書中的一句話:設(shè)計模式體現(xiàn)的是一種思想,而思想是指導(dǎo)行為的一切,理解和掌握了設(shè)計模式,并不是說記住了xx種(或更多)設(shè)計場景和解決策略(實(shí)際上這也是很重要的一筆財富),實(shí)際接受的是一種思想的熏陶和洗禮,等這種思想融入到了你的思想中后,你就會不自覺地使用這種思想去進(jìn)行你的設(shè)計和開發(fā),這一切才是最重要的。
第二篇:設(shè)計模式初學(xué)心得
以前沒有接觸過設(shè)計模式,那其實(shí)也是因?yàn)橐郧皼]有真正經(jīng)歷過面向?qū)ο蟮脑O(shè)計。這樣的情況在我經(jīng)歷了本科畢業(yè)設(shè)計,并且遵循我們實(shí)驗(yàn)室的一位師兄的建議看了《設(shè)計模式精解》([美]alanshal(轉(zhuǎn)載請注明來源:)loway&jamesrtrott著,熊節(jié)譯)后有了根本的改變,我開始意識到一個程序員和一個設(shè)計者的區(qū)別,我也開始意識到在同學(xué)眼中“編程很強(qiáng)”的我只是——至少現(xiàn)在只是一個程序員。
我做的本科畢設(shè)是基于java-swing設(shè)計一個類似繪圖程序的系統(tǒng),最終我設(shè)計出來的程序,在別人看來很不錯。但是只有我自己知道,我的設(shè)計其實(shí)是糟糕了,最明顯的就是低內(nèi)聚、緊耦合,那些代碼甚至連我都不愿意去維護(hù)。于是當(dāng)我看到書中的一句話:“幾乎百分之百的軟件都不是由它最初的設(shè)計者去維護(hù)的??”,更讓我感到這次設(shè)計的失敗(就連它的設(shè)計者都不原意去維護(hù))。
《設(shè)計模式精解》的出現(xiàn)可以說讓我眼前一亮,這也是第一本讓我想再讀一次的書(即使現(xiàn)在我還沒有讀完)。究竟什么是模式?書中的解釋是“模式是針對特定場景下的特定問題的可重復(fù)、可表達(dá)的解決方案”,除此之外模式還必須有三個要點(diǎn):
1.可重復(fù)性。解決方案應(yīng)該對應(yīng)于外部的場景。2.可傳授性。一個解決方案應(yīng)該可以移植到問題的不同情況中(絕大多數(shù)模式的可傳授性都建立在“約束”和“效果”的基礎(chǔ)上)。
3.用來表示這個模式的名稱。
模式不限于面向?qū)ο螅幌抻谠O(shè)計階段,甚至不限于軟件開發(fā)領(lǐng)域。設(shè)計模式只是模式的一個子集。
在前言中作者說在他對現(xiàn)有的設(shè)計模式的指導(dǎo)原則及策略都非常清楚之后,這些原則幫助他決定開始過一種為人解惑的生活??雖然我第一次看到“為人解惑的生活”這個詞語,但是我立刻感到這也是我所向往的一種生活。
書中介紹了軟件開發(fā)過程中的三個不同視角:
1.概念視角。這個視角“展現(xiàn)了問題領(lǐng)域中的概念??一個概念模型可以在對實(shí)現(xiàn)軟件有很少或毫無注意的情況下畫出??”
2.規(guī)格視角。“只看軟件的接口,而不看實(shí)現(xiàn)” 3.實(shí)現(xiàn)視角。就是現(xiàn)在的我唯一使用的視角——置身于代碼之中。
看到這里我更加肯定了這本所講的是我從來沒有注意過的東西,但是我對這些東西應(yīng)該非常感興趣,而我也深深地感慨:我為什么現(xiàn)在才看到這本書。在書中作者回顧了它從前的一個設(shè)計,通過不斷修改得出的優(yōu)秀設(shè)計,逐步展現(xiàn)出設(shè)計模式的強(qiáng)大威力。書中有句話很經(jīng)典——如果你只有一把錘子,那你會發(fā)現(xiàn)所有的東西都像釘子。意思是說如果你只知道一種解決問題的辦法,那你只會想用這個方法解決所有問題。我覺得這很像現(xiàn)在的我,在面向?qū)ο蟮脑O(shè)計中我?guī)缀踔粫邦惱^承”,結(jié)果是我的畢設(shè)——過高的繼承體系導(dǎo)致緊耦合、低內(nèi)聚。
當(dāng)我學(xué)到書中介紹的第一個設(shè)計模式:facade模式,我立刻對這些設(shè)計模式產(chǎn)生了濃厚的興趣,我發(fā)現(xiàn)自己像一個“完美主義者”,在試圖追求結(jié)構(gòu)完美的程序代碼(可讀性好、易于維護(hù)),而設(shè)計模式給我提供了這樣的可能,盡管我僅僅看到了它的一點(diǎn)點(diǎn)部分。設(shè)計模式就像一個漂亮的女孩,而且你知道她不僅外表很漂亮,也很有內(nèi)涵,那你想做的事情還有什么呢?當(dāng)然是盡快接近并了解她?? 第三篇:設(shè)計模式之心得
剛學(xué)幾天就有一些淺薄的心得了。
在學(xué)過的幾種設(shè)計模式中(目前為止,本人只學(xué)過創(chuàng)建性模式),每一種設(shè)計模式都會有一種具體的應(yīng)用場景,每一種場景描述的都是一種需求變化。設(shè)計模式就是用來解決這些變化的。只要客戶有新的需求,你的程序就要發(fā)生改變,不管你用什么方法,這個改變是避免不了的。關(guān)鍵是你如何是解決這種變化!設(shè)計模式就是尋求一種通用的較好的方法來解決這種變化而不是避免這種變化,并不是你應(yīng)用了設(shè)計模式,你的系統(tǒng)就不會發(fā)生變化了。
面向?qū)ο蟮木幊逃腥髾C(jī)制,我個人認(rèn)為,設(shè)計模式很好的利用了其中的“封裝與多態(tài)”(當(dāng)然并不是所有的設(shè)計模式都是這樣的,也不是說繼承就沒用,繼承在三大機(jī)制排第一呀,是基本的),比如工廠方法模式和生成器模式。“封裝”的意義不僅僅在于封裝代碼的實(shí)現(xiàn),更重要的是“封裝”系統(tǒng)中變化的部分。設(shè)計模式回答了怎么樣去“封裝”這種變化。
在一個系統(tǒng)中,總會有一部分經(jīng)常發(fā)生變化,相對的,也總有一個部分是改變頻率較低的,我們可以在某種范圍內(nèi)將其理解為不改變的部分。設(shè)計模式要作的事情就是把“變化”的部分封裝起來,實(shí)現(xiàn)將“變化”的部分與“不變化”的部隔離,這樣,“變化”的部分在發(fā)生變化時,不會影響到“不改變”的部分。如果你也學(xué)過設(shè)計模式,那你可能跟我有同感。設(shè)計模式解決變化的途徑可以概括為兩步(純屬個人見解):一是轉(zhuǎn)移變化,二是轉(zhuǎn)化變化。
首先是“轉(zhuǎn)移變化”。簡單的說就是把a(bǔ)部分的變化轉(zhuǎn)移到b部分,請b去變化,讓a不發(fā)生變化。在程序中就是將變化從調(diào)用者轉(zhuǎn)移到被調(diào)用者。比如,你有一個類scene,這個類用于顯現(xiàn)一種風(fēng)格的游戲場景,調(diào)用程序?qū)嵗@個類并使用它。如果有一天,需求改變了,當(dāng)前風(fēng)格的游戲場景顏色太冷了,我需要改變當(dāng)前場景的顏色。這個時候你要決定,要讓誰去發(fā)生變化?是讓客戶調(diào)用程序去改變scene類的顏色屬性呢,還是讓你的類scene發(fā)生變化?設(shè)計模式回答的是,請scene發(fā)生變化,調(diào)用者不發(fā)生變化。
為什么要這樣回答,因?yàn)檫@個時候,你的系統(tǒng)可能已經(jīng)交付用戶了,如果讓調(diào)用者發(fā)生變化,那整個系統(tǒng)都要發(fā)生變化。(這里討論只是一個簡單的應(yīng)用,實(shí)際情況中往往沒有這里簡單。如果實(shí)際情況是這么簡單的話,設(shè)計模式估計就沒有用處了。)
然后是“轉(zhuǎn)化變化”。
確定了要改動scene,那要怎么樣去改scene呢?直接改嗎?當(dāng)然不行,如果是這樣改,那還不如讓調(diào)用者去設(shè)置scene的某個屬性呢,反正都要重新部署。那要怎么改?“擴(kuò)展”,把這種“改變”轉(zhuǎn)化為“擴(kuò)展”。你不是要另外一種
scene嗎?那我重新為你設(shè)計一個sence并生成dll交付你,然后讓現(xiàn)有的程序去調(diào)用這個scene。當(dāng)然,這時可能需要調(diào)用者稍微的發(fā)生一下變化,比如開始調(diào)用者是直接調(diào)用scene來呈現(xiàn)場景的,現(xiàn)在將其改為根據(jù)配置文件來決定要呈現(xiàn)那種scene。但是如果之前你已經(jīng)考慮到這個問題了,那調(diào)用者是不需要發(fā)生任何變化的,因?yàn)檎{(diào)用者是根據(jù)配置來決定所呈現(xiàn)的場景,需求發(fā)生彎化,只需要改變配置文件(可能是一個xml),把調(diào)用者與新添的scene關(guān)聯(lián)即可,這樣一來,“改動”就變?yōu)椤皵U(kuò)展”,其帶來的好處也是顯而易見的,這也就是所謂的“開閉”原則。
以上文字完全是本人理解,隨著不斷的學(xué)習(xí),我想這么文章估計要被改好多次,這是一個學(xué)習(xí)的過程。理解錯了、寫錯了都不要緊,關(guān)鍵是你怎么樣去面對這種錯誤!是拒絕承認(rèn)錯誤還是正視錯誤?這也是設(shè)計模式回答的問題。
第四篇:洋思模式心得體會 洋思模式心得體會
從學(xué)習(xí)杜郎口到學(xué)習(xí)洋思已經(jīng)好幾年了,每年每學(xué)期都要進(jìn)行大規(guī)模的聽課活動,可謂轟轟烈烈,但學(xué)習(xí)了好幾年時間,我心中仍然一塌糊涂,一知半解,難以靈活運(yùn)用,嘗試著運(yùn)用時,也是提襟見肘,顧此失彼。所以成功的經(jīng)驗(yàn)很少,只能有一點(diǎn)粗略的感受。我覺得目標(biāo)設(shè)計盡量的要簡潔明了,通俗易懂,要讓絕大多數(shù)學(xué)生能夠完成,如果太難或過于簡單,都不利于學(xué)生的學(xué)習(xí)。目標(biāo)設(shè)計應(yīng)控制在1----3條為宜,如果目標(biāo)太多,一節(jié)課根本無法完成,那就白設(shè)計了,從學(xué)生的角度來說,當(dāng)看到很多的目標(biāo)時,心中會產(chǎn)生恐懼和排斥情緒,不利于學(xué)習(xí)。
由于條件限制,當(dāng)堂訓(xùn)練時只能采用課后練習(xí)和配套練習(xí),缺少靈活性,對于在電子白板上做練習(xí)題,我總覺得效果不太好,因?yàn)橐坏李}目看過后,印象不深,只有親手做過,才能記憶深刻。
其它環(huán)節(jié),我正在努力嘗試、探索。第五篇:模式心得體會 教學(xué)模式心得體會
近幾年,我們在校領(lǐng)導(dǎo)的帶領(lǐng)下,實(shí)施了有本校特色的四大模塊,八大環(huán)節(jié)的課堂教學(xué)模式。通過我們幾年來的努力專研,現(xiàn)在,我們都可以很流暢的把我校的教學(xué)模式運(yùn)用到我們的課堂教學(xué)中了,當(dāng)然,在這幾年的專研中,我也有了自己的體會,現(xiàn)在,我就談?wù)勎覀€人的一些看法。
一、改變舊觀念,接受新模式 對于一個新的事物,需要通過不斷地學(xué)習(xí)去了解它,新的教學(xué)模式也是這樣。這學(xué)期,學(xué)校組織我們進(jìn)行了多次學(xué)習(xí),深入了解新模式的內(nèi)涵、原則及實(shí)施細(xì)則,并組織我們通過數(shù)多次的教學(xué)研討課,讓我們真正了解這種模式的操作方法。不管是講座還是聽課教研,我都積極參加,積極與同行進(jìn)行研究,認(rèn)識到了新模式的確有助于培養(yǎng)學(xué)生自主學(xué)習(xí)的能力,有助于培養(yǎng)學(xué)生的合作意識,有助于學(xué)生學(xué)習(xí)能力的提高,有助于切實(shí)提高課堂效率。于是,我就積極在自己的課堂上進(jìn)行嘗試,努力實(shí)現(xiàn)學(xué)生主體、教師主導(dǎo)的高效課堂。
二、把課堂還給學(xué)生
每節(jié)課上,我都不斷地提醒自己:“要放手,還給學(xué)生更多的學(xué)習(xí)時間。學(xué)生會的,教師不講;學(xué)生能說出來的,教師不說;學(xué)生通過談?wù)撃芙鉀Q的,就讓學(xué)生討論解決。”有了這樣的意識,課上,學(xué)生活動的機(jī)會多了,學(xué)生讀書的時間有了,學(xué)生合作的機(jī)會有了,學(xué)生自主學(xué)習(xí)、獨(dú)立解決問題的能力提高了。課上,我只挑關(guān)鍵性的問題、共性問題組織教學(xué),充分發(fā)揮激勵的作用,讓學(xué)生盡情地
展示自己。這樣,學(xué)生的學(xué)習(xí)熱情高漲,誰都想表現(xiàn)自己,誰都想得到大家的認(rèn)可,學(xué)習(xí)效果有了提高。
三、把課前的準(zhǔn)備做充分
每節(jié)課的教學(xué),都需要教師事先的精心準(zhǔn)備。我們的教學(xué)模式更是如此,哪怕就是指導(dǎo)學(xué)生怎樣預(yù)習(xí)。我剛開始帶的學(xué)生第一次接觸預(yù)習(xí),學(xué)生不知道該怎樣下手,所以,手把手地教給方法就顯得尤為重要。我為了讓學(xué)生學(xué)會預(yù)習(xí),我不怕耽誤課堂時間,親自在課堂上對學(xué)生預(yù)習(xí)的每一步進(jìn)行指導(dǎo),比如,我告訴學(xué)生要通過自己拼讀音標(biāo)來學(xué)會讀單詞,要通過英漢互譯來熟練掌握單詞。我還要親自在課堂上指導(dǎo)學(xué)生如何寫預(yù)習(xí)筆記,如此反復(fù),雖然學(xué)生的預(yù)習(xí)還是不能完全放手,但是,看到相當(dāng)一部分學(xué)生已經(jīng)開始自主地預(yù)習(xí)下一單元時,我還是感到很欣慰,畢竟小進(jìn)步也比原地踏步強(qiáng)。
針對這幾年的英語教學(xué),我也有點(diǎn)自己的看法:
一、靠持續(xù)不斷的語言知識,而不是“玩”來培養(yǎng)學(xué)生持久的興趣初中英語教學(xué)是要重視培養(yǎng)興趣,但單靠唱歌游戲不能培養(yǎng)學(xué)生持久的興趣。新鮮勁兒一過,孩子們就會厭倦。所以,唱歌游戲應(yīng)該作為初中學(xué)生學(xué)習(xí)英語語言知識、技能的一些手段,而不是培養(yǎng)興趣的手段。我們可以采用多種手段幫助學(xué)生在記憶力強(qiáng)的時期多記單詞,多學(xué)習(xí)語言規(guī)則,并盡可能多創(chuàng)造模仿的機(jī)會,提高學(xué)生的語音和語調(diào)。在英語學(xué)習(xí)中,聽、說、讀、寫、譯五種能力是可以互補(bǔ)的。真正做到聽說先行,讀寫跟上。光聽說不讀寫,很難收到高效。只靠模仿不培養(yǎng)學(xué)習(xí)能力,也難減輕學(xué)習(xí)負(fù)擔(dān)。所以初中學(xué)生還是應(yīng)
當(dāng)認(rèn)真進(jìn)行語言學(xué)習(xí)。
二、英語應(yīng)用能力需要相應(yīng)的詞匯。“不學(xué)習(xí)語言規(guī)則、不掌握相當(dāng)數(shù)量的詞匯,英語應(yīng)用能力就是空中樓閣”。目前在中學(xué)的低年級的英語教學(xué)中,不要求學(xué)生掌握詞匯,而只要求學(xué)生能根據(jù)提示或圖片說出該單詞,其本質(zhì)無非是要學(xué)生們死記硬背,鸚鵡學(xué)舌。由于學(xué)生們沒有相應(yīng)的讀音規(guī)則訓(xùn)練,不熟悉詞匯的拼寫規(guī)則,單詞的音、形、意三者不能有效的結(jié)合在一起,因而導(dǎo)致了單詞記憶的困難,并成了中學(xué)生學(xué)英語的瓶頸。
三、中學(xué)英語教師應(yīng)有發(fā)展意識一向以來,人們中學(xué)英語教師的語言知識能力要求不高,認(rèn)為中學(xué)英語簡單,不需要太好的語言功底,只要有良好的教學(xué)技能就可以了。其實(shí)時代在進(jìn)步,社會在發(fā)展,同樣英語作為人們最廣泛的交際用語之一,更是隨著高科技的迅猛發(fā)展而日新月異地變化著。如果我們的英語教師故步自封,不求進(jìn)取,那么不但自己的語言知識很快陳舊落伍,誤人子弟,而且會被時代所淘汰。“changingenglishinthechangingworld”。現(xiàn)代英語的變化,特別是口語方面的變化可從以下幾個方面體現(xiàn)出來:
1、隨著人們生活節(jié)奏的不斷加快,更因?yàn)閲H互聯(lián)網(wǎng)的形成,人們之間的交際變得越來越簡捷。說話簡單快捷,是現(xiàn)代人生活的一大特征。現(xiàn)代英語在這方面的變化表現(xiàn)為“一字多用”。
2、隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,現(xiàn)代英語詞匯急劇增加,并且我們發(fā)現(xiàn),現(xiàn)代英語詞匯有相當(dāng)一部分是取得新義的舊詞,如,“input”(輸入電子計算機(jī)的數(shù)據(jù)),“store”(電子計算機(jī)的儲存器),“drive”(計
算機(jī)驅(qū)動器)等。
3、英國英語和美國英語之間的距離越來越小。也許是美國對世界政治、經(jīng)濟(jì)影響日益強(qiáng)大的原因,美國英語的影響也越來越大,特別是對青少年的影響越來越大,他們以使用美語和發(fā)美國音為時髦。
當(dāng)然,在實(shí)施新的教學(xué)模式的過程中我也有些困惑,譬如說學(xué)生由于作業(yè)量的增多而忽略了預(yù)習(xí),導(dǎo)致課堂上不下去課的情況,我想,學(xué)校會為我們的教學(xué)模式的實(shí)施創(chuàng)造很好的條件的,相信在不久的將來,我們可以把教學(xué)模式變成我們自己的模式,在教學(xué)上更上一層樓