2007年9月20日 星期四

物件導向分析與設計

最近去文化中心借了一本書,叫"UML與樣式徹底研究(Applying UML and Patterns)"這本書也是矇矇的秘密基地裡面所推薦的系統分析與設計相關書籍的必讀經典之一,另外兩本則是"UML精華(UML Distilled)"和"使用案例寫作實務(Writing Effective Use Cases)",前一本看完一遍了,而後一本只有瀏覽過,還沒開始精讀,因為"UML與樣式徹底研究"算是蠻厚的一本書,所以現在還在研讀中。
  為何會開始想看這一類的書呢?其實是從現在這個專案開始蘊釀起的。回想起從最初學習有關"架構"、"設計"等議題是從接觸Struts開始,Struts以現在來說算是非常廣為人知的一個framework,學習它讓我初步了解MVC架構為何,以及如何去實現它,而接觸Hibernate則是讓我了解ORM這個主題是如何運作的,之後也陸陸續續學了一些技術,當然也包括了Spring,只是在投入目前的專案之前,對於Spring的IOC及AOP等概念僅止於理論上的了解,而且各項技術對我而言,也只是不連續的片斷概念,而無法產生整体的力量,直到今年年初投入這個案子之後,花了很多時間去閱讀和嚐試Spring的核心功能和它抽象層的功能,開始有了不同的體會。Spring最大的貢獻在於它提供了一個可以整合各項功能的框架,從前端的顯示層,中層的商務邏輯層,到後端的資料存取層,都提供了很方便的使用和抽換的方式,讓我當時有一個想法,就是學習東西的時候可以以Spring為核心,找到對自己有用的技術,再整合到Spring這個大框架,這或許並不是最佳的做法,不過卻是現階段的我比較偏好的做法。
  可是學習到一個程度之後,發覺自己遇到瓶頸了,就是不知道自己接下來的方向為何,正在茫茫然的時候,找到了矇矇的秘密基地這個部落格,算是給了我很大的啟發,他的文章大多著重在架構設計和系統分析與設計等概念的闡述,所以,習慣從最基礎開始著手的我,就從"什麼是物件"、"什麼是類別"等大多數人都會跳過的文章開始看起,從頭開始培養自己對物件導向分析與設計的概念,收穫真的很大,也讓我對未來如何提昇自己有了方向,才慢慢開始閱讀一開始所提到的書籍,閱讀之後才發覺,系統分析與設計真的是一門大學問,而且重點不在於你用了什麼工具,用了多少UML,或是實行了什麼開發流程,而是要能對於如何設計出低耦合力,高內聚力等的物件有一定的了解,所以現在對我而言,OOAD是開發時的基本原則、心法,而UML與實作技術如Java等則是工具、招式、實踐的手段,今後就暫時以這個想法來做為提昇自己的準則。