PHP 設計模式 學習手冊

91VpVH3-64L._AA1500_[1]

上個禮拜在 HITCON 的天瓏書局攤位,看到這本七月剛出的 PHP 設計模式學習手冊,心中燃起一絲對 PHP 的小火,心想已經荒廢那麼久的 PHP 該是時候補充一下彈藥的時候啦~,尤其是最近剛看完 JavaScript 設計模式,應該能對比一下兩個語言實作上的差異,來更深入的理解這些設計模式應用的場景。

而且當下就是議程的休息時間,馬上就要開始了,但是議程一結束攤位也收了,而且當下買書折扣不錯,還有送歐萊禮筆記本(眼鏡猴~大心),又相信歐萊禮的品質,從來沒有讓我失望過,沒多看就買了。

結果回家看沒幾頁就後悔了…囧

第一次看歐萊禮的書給我這種不好的感覺,有點不知道在寫什麼,本來看目錄覺得 PHP 設計模式應該要多探討如何應用在 Web 開發的情境,才有意義,否則單純舉一些跟非 Web 應用一樣傳統的例子,對 Web 的實際應用上沒什麼幫助,而且目錄的確是有提到像跟 MySQL 之間的結合,還有一個設計模式搭配 CMS 的實作。

第一部份還好,也有可能是我覺得算整本書最正常的地方,就是做些概略性的介紹,但是從第二部份開始介紹設計模式,就覺得很奇怪了,因為我後來寫 PHP 都是在框架下開發,所以原本就覺得在框架中的物件應用有些侷限,想要知道實際上有沒有更廣泛的用途,寫得更優雅一點。結果設計模式蠻多例子有提到 Web 的應用範例,問題是~這些應用一點都不合理阿,根本不可能會這樣寫,感覺好像為了硬要物件導向,捨棄了很多 PHP 動態語言優勢的寫法,而且又把模式的概念也描述得不太清楚,所以看完了反而不懂這個模式到底要怎麼用,更不知道怎麼有用的利用在開發上。

例如 Adapter 是要轉換手機跟網頁的顯示,用轉接器來依照不同終端的瀏覽器來切換,像這種情況不是只是單純的前端上要做些調整,結果硬是要套上兩個物件來示範這個模式,感覺有些不太符合實際開發,雖然我是沒寫過要套在手機、電腦的網頁,只是我也不會想這樣寫ㄜ,現在不是有什麼 RWD 。而且裡面好幾個例子就是在物件裡面處理 html,已經習慣把 view 分離的寫法,就有點難以想像這樣寫有什麼優勢。

最後的 CMS 也是差不多就是用 observer 來處理不同裝置的 html 顯示,感覺還是一樣有點多餘,硬要把模式找情境套進去,實際上沒有感受到這樣設計的優點,也不太會想這樣寫,沒受到什麼啟發…。

好啦…,是我程度太差,也沒寫過手機網頁,所以看不懂你在寫什麼啦>_<。還是誰想買我可以便宜一點賣,九成新喔…。這好像是我最快翻完的一本設計模式書…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *