?????? 最近重讀《Java與模式》這本書,為了達到比較好的學習效果,特將學習過程中的學習筆記放在blog中,希望進步大點,嘻嘻。
?????? 1. 概念
?????????? 簡而言之,人們在自己的環(huán)境中不斷發(fā)現(xiàn)問題和尋找問題的解決方案的時候,發(fā)現(xiàn)有一些問題及其解決方案不斷變換面孔重復出現(xiàn),但是這些不同的面孔后面有著共同的性質(zhì),這些不同的本質(zhì)就是模式.
???????2. 要素
????????? 1) 名字(Name): 一個模式必須是一個有意義的、簡短而準確的名字。一個好的名字可以使對模式的抽象變得容易。有時一個模式同時有多于一個的名字,這時候這些名字就應當作為別名列出;
??????????2)問題(Problem):每一個模式必須有一個能夠描述它的用意的問題,以便能夠說明此模式在給定的環(huán)境和力中要達到的目標和結(jié)果;
????????? 3)環(huán)境和初始環(huán)境(Context和Initial Context):模式的問題和模式的解答出現(xiàn)所需要的前提條件。環(huán)境說明模式的適用范圍,環(huán)境也是模式應用之前的起始位形;
????????? 4)力(Forces):力給出與模式有關的力和約束,它們能夠彼此相互作用,以及它們能實現(xiàn)目標所起的反作用,比如一個模式為所獲得的好處付出的代價等。要比較好地描述一個模式,就必須完整地給出所有對模式有影響的力。
??????????5)解答(Solution):相當于一個生產(chǎn)產(chǎn)品的指令,它可能包括相片、圖表、文字,用于確定模式的結(jié)構(gòu)、所涉及的角色以及角色之間的協(xié)作,解答要顯示出問題是怎樣得到解答的等。解答不僅要給出靜態(tài)的結(jié)構(gòu),而且要給出動態(tài)的行為;
?????????6)舉例(Examples):可以使用一個或多個示意性的應用來說明特定的真實環(huán)境,以及模式是怎樣應用到環(huán)境上、改變環(huán)境并且給出當模式結(jié)束時的末態(tài)環(huán)境的;
???????? 7)末態(tài)環(huán)境(Resulting Context):模式應用到環(huán)境之后的狀態(tài)或位形。末態(tài)環(huán)境包括模式帶來的好的和壞的結(jié)果,以及新狀態(tài)中含有的其他問題和可能設計的其他有關系的模式;
???????? 8)推理(Rationale):推理解釋本模式的步驟、規(guī)則,以及此模式作為一個整體是如何以特定的方式解決模式的力的,以及力和模式是如何協(xié)同合作的;
?????????9)其他相關模式(Related Patterns):這一要素應當描述在現(xiàn)有的系統(tǒng)中這個模式與其他模式的靜態(tài)和動態(tài)的關系;
???????? 10)已知的應用(Known Uses):在已有系統(tǒng)中模式出現(xiàn)和應用的例子。
???????? 為什么大多數(shù)程序員的代碼中充斥如此多的if...else判斷?
?????????為什么我們用著面向?qū)ο蟮恼Z言進行著如此多的面向過程編程的重用?
???????? 很多時候我們過多的注重技術(shù)表面的東西,而忽視了本應該注重的實質(zhì),雖然其中的原因也不全是因為我們自己,學校的教育、企業(yè)的急功近利等等都有一部分原因在里面。
???????? 充斥的一大堆框架,struts、hibernate、spring......, 的確為我們減輕了很多工作,但我覺得如我這樣的程序員們,也應該花點時間來學習或研究一下算法、設計模式等。努力使自己不斷提升。
???????? 當你回想自己所做的技術(shù),發(fā)現(xiàn)很多時間都是在ctrl+c、ctrl+v時,你是什么感覺?
???????? 當你發(fā)現(xiàn)自己的創(chuàng)造力正在慢慢的減退時,你如何采取行動?
?????????當理想與現(xiàn)實發(fā)生矛盾時,你如何不解決這些矛盾?
???????? ......
???????? 變與不變,都在于自己。
???????? 我選擇了變,你們的選擇是什么呢?
?????????呵呵,就此發(fā)一點小牢騷。
???????? 祝所有的如我一樣有夢想的程序員們像個男人般去奮斗,哈哈,雖然I am a girl:)?????????????????
??????????
FeedBack:
# re: 《Java與模式》學習筆記(1)--模式的概念. 要素
# re: 《Java與模式》學習筆記(1)--模式的概念. 要素
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 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 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
我的作品:
玩轉(zhuǎn)Axure RP (2015年12月出版)

Power Designer系統(tǒng)分析與建模實戰(zhàn) (2015年7月出版)
Struts2+Hibernate3+Spring2 (2010年5月出版)
我的作品:
玩轉(zhuǎn)Axure RP (2015年12月出版)

Power Designer系統(tǒng)分析與建模實戰(zhàn) (2015年7月出版)

Struts2+Hibernate3+Spring2 (2010年5月出版)

留言簿(263)
隨筆分類
- Ajax(3)
- Ant(1)
- Auto Code(4)
- Cewolf
- CMMI(1)
- CSS(2)
- CVS(1)
- database(15)
- Design Pattern(11)
- Eclipse BIRT(1)
- EJB
- extremecomponents(1)
- GIS(2)
- Hibernate(8)
- iBATIS(2)
- IDE(1)
- Inno Setup(2)
- IT評論(2)
- Java(36)
- Javascript(32)
- JBoss(1)
- JFreeChart(3)
- JFreeReport(3)
- JSF
- Linux(3)
- MySql(11)
- Open Source(4)
- Oracle(5)
- Other(13)
- Spring(12)
- Sql Server(1)
- Struts(7)
- Struts2(8)
- Tomcat
- UML
- Web(8)
- Web Service(3)
- Workflow
- 產(chǎn)品原型設計(8)
- 似水流年(13)
- 協(xié)議(12)
- 原創(chuàng)小說(1)
- 技術(shù)評論
- 架構(gòu)師之路(12)
- 電信知識(3)
- 網(wǎng)絡通信相關(11)
- 職場感悟(6)
- 解決方案(12)
- 項目管理(8)
隨筆檔案
- 2016年3月 (2)
- 2015年11月 (1)
- 2015年9月 (1)
- 2015年6月 (3)
- 2015年5月 (4)
- 2014年12月 (2)
- 2014年7月 (1)
- 2014年6月 (1)
- 2014年5月 (2)
- 2014年1月 (2)
- 2013年10月 (1)
- 2013年8月 (1)
- 2013年7月 (1)
- 2013年4月 (1)
- 2013年2月 (1)
- 2012年11月 (2)
- 2012年10月 (1)
- 2012年1月 (1)
- 2011年11月 (8)
- 2011年10月 (4)
- 2011年9月 (1)
- 2011年8月 (2)
- 2011年7月 (5)
- 2011年2月 (2)
- 2011年1月 (1)
- 2010年12月 (3)
- 2010年11月 (9)
- 2010年9月 (1)
- 2010年7月 (2)
- 2010年6月 (2)
- 2010年5月 (5)
- 2010年4月 (2)
- 2009年12月 (4)
- 2009年11月 (2)
- 2009年10月 (1)
- 2009年9月 (3)
- 2009年8月 (5)
- 2009年7月 (5)
- 2009年5月 (1)
- 2008年10月 (3)
- 2008年9月 (3)
- 2008年8月 (1)
- 2008年6月 (2)
- 2008年5月 (3)
- 2008年4月 (2)
- 2008年2月 (2)
- 2008年1月 (11)
- 2007年12月 (9)
- 2007年11月 (7)
- 2007年10月 (9)
- 2007年9月 (12)
- 2007年8月 (24)
- 2007年7月 (10)
- 2007年6月 (2)
- 2007年5月 (3)
- 2007年4月 (18)
- 2007年3月 (24)
- 2007年2月 (24)
文章分類
相冊
關注blog
積分與排名
- 積分 - 2296322
- 排名 - 3
最新評論

- 1.?re: 新書推薦:《Power Designer系統(tǒng)分析與建模實戰(zhàn)》
-
你好。買了書,麻煩把書中的樣例工程文件發(fā)給我。非常感謝。
我的郵箱:wen027andy@163.com - --文良
- 2.?re: 新書推薦:《Power Designer系統(tǒng)分析與建模實戰(zhàn)》
-
@智祿
謝謝指出,下次改版修正:) - --阿蜜果
- 3.?re: 新書推薦:《Power Designer系統(tǒng)分析與建模實戰(zhàn)》
-
6.1.3 9.存儲函數(shù)
存儲函數(shù)與存儲函數(shù)類似,……
此處應該是:存儲函數(shù)與存儲過程類似,……
我買的是多看上的電子版,請修改
- --智祿
- 4.?re: 新書推薦:《Power Designer系統(tǒng)分析與建模實戰(zhàn)》
-
您好,今天買了您的這本書,為了更好的學習,麻煩將書中的樣例工程文件發(fā)給我,萬分感謝,感謝作者寫出這么好的書,我特別需要,祝大賣~~
yaozhilu@foxmail.com - --智祿
- 5.?re: 新書推薦:《Power Designer系統(tǒng)分析與建模實戰(zhàn)》
-
您好,書不錯,已經(jīng)買了,麻煩發(fā)套樣例工程吧,最好詳細點的,萬分感激!
jackylee365@163.com - --李成龍
閱讀排行榜
- 1.?常用加密算法的Java實現(xiàn)總結(jié)(二)——對稱加密算法DES、3DES和AES(143718)
- 2.?用Ant實現(xiàn)Java項目的自動構(gòu)建和部署(123992)
- 3.?異常備忘:java.lang.UnsupportedClassVersionError: Bad version number in .class file(114282)
- 4.?Java代碼規(guī)范、格式化和checkstyle檢查配置文檔(71836)
- 5.?常用加密算法的Java實現(xiàn)總結(jié)(一)——單向加密算法MD5和SHA(62394)
- 6.?通用權(quán)限管理系統(tǒng)設計篇(三)——概要設計說明書(61753)
- 7.?使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇(53673)
- 8.?基于注解的Spring MVC+Hibernate簡單入門(52601)
- 9.?在阿里云Linux服務器上安裝MySQL(49660)
- 10.?關系型數(shù)據(jù)的分布式處理系統(tǒng)MyCAT(1)—概述和基本使用教程(47777)