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