請用具體的例子說明。


多看別人的代碼!這是最重要的不管任何語言。代碼架構都是通用的!

但是。我個人覺得。模塊化開發。只適合大項目和大產品。由最少4個開發者維護的東西才會有用。小東西是不靠譜的,效率低


研究開源項目,學習它們的設計

模塊化的概念多見於框架中,而在實際開發中,很少有人會關注模塊化問題。特別是用php開發的項目,除了框架中有模塊化的概念,能在項目開發中,用心寫model類的項目都很少。

在平時的閑聊中,還是會有很多人討論到模塊化的問題。然而他們的對模塊化概念的認識,是對核心功能類的友好封裝,然後這個類能在不同項目中,良好的使用。這個根本稱不上是模塊化開發。

什麼是模塊化開發

舉個例子。

在框架中會有很多的緩存機制,比如,文件式緩存、memcache緩存、redis緩存。

首先框架中會有個配置文件,允許你通過配置完成這三個機制的切換,但同時你又不需要修改代碼。原因是框架已經將這三個機制實現的代碼進行了統一的封裝,在經過配置文件時,返回對應的機制類,在實際的動作時,擁有共同的方法名,這樣就實現了模塊化開發。

項目開發中,如何做到模塊化開發

舉個例子。

正常情況下,用戶上傳的圖片都是存儲在本地。但現在系統有一台公用的資源伺服器,想要將所有的上傳文件,同步到這台伺服器上。

有兩種方案來實現:一、使用ftp協議傳輸文件。二、使用curl將文件post到另一台伺服器上。

我們現在將問題複雜化一些,需要實現三個需求。第一個將文件存儲在本地,第二種,通過ftp將文件傳輸到另一台伺服器,第三種,使用curl將文件post到另一台伺服器。

第一步,我們在框架的配置文件中,添加一個配置變數,指定文件存儲方式。

第二步,封裝三個類,

三個類共同繼承storage.php,並且分別實現其中的四個方法。

由storage.php去獲取配置文件中的變數,並且指定使用哪種傳輸方式,返回對應的實現類。


https://github.com/kohana/kohanaphp.com
你可以多參考一些PHP框架,這些框架的模塊化概念很不錯的,例如:codeigniter, cakephp, thinkphp, speedphp等等
如果是功能模塊可以參考現有的CMS系統,看看他們怎麼寫的.比如PHPCMS或者DZX 他們每個功能的代碼不一定是分開的但是是有一定規律的.
推薦閱讀:
相关文章