iT邦幫忙

1

PHP設計模式解惑

  • 分享至 

  • xImage

在練習PHP物件導向中接觸到設計模式,也嘗試去了解設計模式中的特性與寫作方式,想請問各位大大:
1.在撰寫程式中設計模式的寫作方式,是必須的嗎?
2.還是應該取決於程式架構的複雜度,考慮使用框架如laravel....等?
目前對於使用的時機還是不太清楚,懇請大大解惑。/images/emoticon/emoticon41.gif

如果未來打算走入這行,那就是必須的
簡單說你可以從頭到尾全部按照需求寫所有的組件元件物件分析計算報表等等等
但你這麼做假設之後有另外一個需要相似功能的設計需求
你該如何把需要的程式碼拉出來到新的CASE上使用
或是假如你某段因應需求需要更新,又要怎麼做,沒有設計模式,你根本無法動手,就算硬要動,也會很容易發生奇怪的錯誤,而陷入修改迴圈中
至於框架,那也是一種設計模式啊,給樓主參考了
1. 必須的嗎?視情況。如果你寫的程式都很單純簡單(可能兩三支不到百行的php就結束),那硬要套上某個設計模式,只是把事情複雜化;如果你寫的程式規模稍高,那你就需要思考這種情況是不是可以套用什麼設計模式,每種設計模式都有它的優缺點,也有它適用的複雜度,沒有一種設計模式可以通吃所有情況,甚至某些適用的設計模式也要視情況做調整,重要的是你決定用某種設計模式之前,你真的懂這個設計模式要解決什麼問題,有什麼優點,有什麼缺點,而不是學了新的設計模式就無腦套上去。
2. 承1,像樓上大大說的,你要走入這行,幾乎不可能只寫簡單的幾支php就賺到你滿意的錢,那麼知道這個語言有哪些主流框架,各有哪些優缺點,各適用什麼情境,就是你需要做的功課了。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2022-03-15 08:01:15
最佳解答

1.在撰寫程式中設計模式的寫作方式,是必須的嗎?

這個答案是絕對必要的。

2.還是應該取決於程式架構的複雜度,考慮使用框架如laravel....等?

承1。無論複雜度如何。該有的寫作方式還是不變。但架構可以視情況而改變。

後續解釋一下,所謂的寫作方式。
如相關變數的命名。函式對應的條件。
無論複雜度如何。這些是不變的。
不能因為只有幾行程式碼。就用aa bb cc等不明的變數名稱。

但架構上確實可以視情況而調整。我這邊就不討論是否使用laravel這一類。
因為laravel只是補助性。方便你開發快速。但並沒有絕對必要性。
就算沒用框架也是可以的。
一般我並不會說一定得要用laravel或其它框架。

qpalzm iT邦新手 1 級 ‧ 2022-03-15 08:13:17 檢舉

謝謝星空大的分享~「架構上確實可以視情況而調整」在調整的情況如果是相較於複雜的系統,如果只是單一個內容都是Fuction的php,請問是否也會建議用class來包裝呢?/images/emoticon/emoticon41.gif
題外話想請問星空大在寫作前會不會製作UML~再次感謝

講一句坦白話。
其實我個人算是很討厭建立文件的人,雖然明白建立文件的重要性。
但我不建議你跟我一樣這樣幹喔!

一般我在架構都是先在筆記本上做鬼畫符。
常常揚揚灑灑的畫了20多頁或更多後。
從DB規劃先建立。路由定義,控制規劃。

然後將我要做的事先全部註解到要寫的程式上面。
就開始動工了。

其實UML也算是很重要,如果是中大型。

早期因為只有我一人開發,還可以像我上面那樣幹。
後期我擔任規劃的人員。線框圖、SRS跟UML類的統統都要製做。
因為是團隊合作,沒人知道我的腦袋裏再想啥鬼。
自然一定得要規劃好才行。

所以你問我沒啥用。因為我明白其重要性,且有其必要性。
但我個人卻不太遵從。所以也沒啥資格說這些就是了。

qpalzm iT邦新手 1 級 ‧ 2022-03-16 08:26:36 檢舉

看到筆記本上的鬼畫符,感同身受小弟我也是這樣幹的哈哈哈,謝謝星空大的分享~

我要發表回答

立即登入回答