Re: [請益] 請問有人上過Teddy設計模式實作?

作者: y2468101216 (芸)   2017-08-31 19:06:34
design pattern 的話可以先看 clean code 的第三本
https://www.tenlong.com.tw/products/9789864342099
我自己光設計模式就有四本書。
因為每個語言的 design pattern 實作都不太一樣。
有些語言天生上就不適合某些 pattern ,比如 php 與 singleton。
但是你不學的話你永遠都不知道哪些 pattern 適用不適用。
上課的話我也有上,不是 Teddy 的,不過我老實說上完還是不懂。
而且我是貌似唯一一個每週都有交作業的人。
design pattern 需要時間累積,他跟你的程式經歷是相輔相成的。
不要硬用 design pattern ,SOLID 相較反而還是比較重要的
對於我來說 design pattern 都是為了實踐 SOLID,甚至我覺得不用搞那麼複雜
pure function 就夠了。
作者: ripple0129 (perry tsai)   2017-08-31 19:19:00
SOLID是內功,Pattern是外功,懂solid要想出一套降龍18掌也是要時間的,要速成的就是先練形再修內。內功強到一定程度時就是無招勝有招了。
作者: robler (章魚丸)   2017-08-31 21:34:00
design pattern 是為了解決特定問題的方法 solid是原則
作者: altecjc (嘉誠)   2017-08-31 21:51:00
推一個
作者: dnabossking (少狂)   2017-09-01 02:08:00
模式是為了解決語言的缺陷,有些語言根本用不到某些模式整天模式模式,根本走火入魔
作者: BignoZe (BignoZe)   2017-09-01 02:46:00
模式是解決語言得缺陷... 第一次聽到這種說法...
作者: johnny94 (32767)   2017-09-01 08:09:00
誰跟你模式是解決語言的缺陷…
作者: crainlin (rain)   2017-09-01 08:33:00
寫扣寫到不知不覺套入模式的精神大概就最高境界了
作者: WorkForFree (---)   2017-09-01 11:58:00
應該說 隨著新語言新特性的出現 原本的模式用不到了
作者: johnny94 (32767)   2017-09-01 12:06:00
樓上正確
作者: senjor (哞哞)   2017-09-01 12:17:00
就好像現在的MVC不一定要實作Observer (?
作者: bibo9901 (function(){})()   2017-09-01 14:27:00
Design pattern 的精神就那少少幾條, 而且寫久了自然會知道. 讀GoF等等的書應該看作"前2章的觀念+20種示範"而非 "前2章說明+23條教條"而且很多 pattern 或 idiom 根本是語言本身的缺陷所致更多的"pattern"其實只是把平常就在做的事取個名字而已
作者: senjor (哞哞)   2017-09-01 14:44:00
話說DP初衷本來就是把常做的事情命名啊,方便溝通用。
作者: rodion (r-kan/reminder)   2017-09-01 14:58:00
甚麼DP或SOLID 追根究柢還不就追求 高內聚&低耦合~只要你窮盡心力去追求 這個高內聚低耦合原則 你自然會實作出許多 被其他人命名為某某pattern的 模組&方法
作者: bibo9901 (function(){})()   2017-09-01 15:01:00
取來溝通? 取來寫書賺錢吧. 就像 big data 這詞一樣有一天突然發現"原來我做的事叫做big data啊"看了那些書才發現 原來我寫的這叫做XX Pattern啊
作者: rodion (r-kan/reminder)   2017-09-01 15:03:00
跟樓上有同感 ... 所以GOF的作者似乎也說過 DP的一大作用是為了方便溝通啊有了DP後 就可用一句話跟人描述如何實作某個功能了阿
作者: nuclex (core)   2017-09-01 17:56:00
好奇問,為啥 PHP 不適合singleton???
作者: dnabossking (少狂)   2017-09-02 03:37:00
http://www.ithome.com.tw/voice/89076沒聽過是你書讀的少.....很多模式,其實是很理所當然,即使沒人教也該會的東西

Links booklink

Contact Us: admin [ a t ] ucptt.com