標籤:
尷尬的遭遇
自己從內心覺得對項目分層是一種非常好的思想,於是便在網路中尋找有關iOS項目分層的資料. 無奈,網路中關於iOS的項目架構資料非常少(最後證明我大方向走錯了了,架構應該是獨立於平台的,所以"iOS"的架構資料是找不到的),就算有幾篇博文,也是自己琢磨出來的野路子.(個人思想比較保守,不夠權威的東西不能讓我信服,而事實上,每個人都能看到那些博文是有過度設計的問題的)
後來嘗試在 code4app群裡討論這個問題,結果群裡幾個發言活躍的群友對這個架構問題"免討論"
然後在 "跟MJ完虐iOS3.0"這個群中,更是遭到了紅果果的嘲笑:MVC就夠了,還分什麼層?
並無刻意談論群友,只是想拿事實舉例:現在相當一部分開發人員,對架構和分層這個東西認知不足.然後, 自己深知分層的好處,雖然有些灰心,但不至於放棄.最終,發現了Martin Fowler寫的 <<公司專屬應用程式架構模式>>一書,頓覺豁然開朗.
對於行動裝置來說,分層是否有必要?
我最早是做java的,接觸到的項目比較大,會有架構設計. 那麼轉到移動,就會考慮,移動是否也真的需要架構設計
只要是軟體,就會有需求的變更,那麼分層就顯得非常有必要了. 即,我們需要為自己的軟體留一條"後路",解耦合,讓其可擴充.
低耦合企業級系統架構涉及及移動平台的分層架構設計
從大方面來講,架構是必要的,關鍵是怎麼去執行.
一個系統,採用什麼樣子的結構,有哪些組件,組件之間什麼關係,和環境之間有什麼關係,這都是設計架構(或者分層)需要考慮的問題.
目的都是為了建立低耦合的企業級應用系統,低耦合的系統的好處是細化開發較色,提高開發效率,提高擴充性
需求是經常變化的,導致了系統不能滿足需求變化的需求,因為是強耦合的,模組與模組之間,類和類之間.
低耦合的好處太多了
這樣我們系統維護工作就少,就是比較靈活
什麼是企業級系統
這個問題在我的架構的基本概念和演化-部落格園(或者csdn的架構的概念和最基本的三層架構-iOS公司專屬應用程式架構設計)一文中討論過,但是這裡還是有必要再提一下:
系統比較龐大,涉及到前端,後台(資料庫,中介軟體,實際的裝置)
現在的 java .net 都是可以構建企業級系統的.
設計的注意點
設計一定要考慮的非常周到,這樣就存在一個檔案,需要降低耦合度.分層,每層裡面合理的運用設計模式 這就是:架構設計和設計模式
每層之間的東西必須是具有類似功能的類和子系統的集合.
可以分四層,五層,甚至一層,二層. 每種分法必須要有自己的道理.
比如你的房子,要開個窗戶,結果就塌了,就這說明是不合理的設計
此文中很多想法和靈感源自關東升老師的一節視頻,視頻在 51cto可以搜尋到,但是付費的,本人只是學習了免費的第一節的內容,便覺得受益匪淺,更是在嘗試尋求老師分層不合理性的時候,發現了Martin的<<公司專屬應用程式架構設計>>一書,開始了更遠的探究.在此感謝老師. ---我
iOS平台(移動平台)架構問題