按功能劃分Package,而不是按層

lmkl8313 8年前發布 | 14K 次閱讀 Android開發 移動開發

來自: http://www.jcodecraeer.com//a/anzhuokaifa/androidkaifa/2016/0218/3980.html


原文:Package by features, not layers 

按層來劃分packages就像按照專業,而不是按照團隊來劃分工人。

想象一下這種荒謬的場景:

管理層公司,工程師公司,人力資源公司以及市場營銷公司,工程師公司只有程序員,沒有管理、市場營銷或者人力資源;

根據是什么東西來打包而不是根據其職能打包可以讓你尋找代碼的時間快十倍。

blob.png

圖 1 - 按功能劃分package的一個小例子


好處

  • 看到代碼結構你就能辨別這個app是干嘛的(圖1);

  • 更加模塊化;

  • 代碼切換更容易;

  • 更高級別的抽象;

  • 功能和層都分離開來了;

  • 可讀性更強以及更易維護的結構

  • 更高的內聚;

  • 更易擴展;

  • 更少遇到改動無關類或者文件的情況;

  • 添加或者移除功能要容易很多;

  • 更多可復用的模塊。

 

你同意我的說法嗎?你是用的什么方法呢?

 本文由用戶 lmkl8313 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!