设计模式的基础书籍求推荐

2014-05-05 18:23:42 +08:00
 WildCat
最近虽然想更新V2的iOS客户端,但是感觉自己基础深深不足,请教一下介绍设计模式的图书。

不知道《Head First设计模式》如何?看了下出版年份是07年,不知道是否可以?最近几年是否出现了新的设计模式?
2749 次点击
所在节点    问与答
8 条回复
Mutoo
2014-05-05 18:47:51 +08:00
貌似23种设计模式从90年代由 GoF 提出来后,就没有增加过。不过在不同领域的应用会很不相同。

前段时间阅读了 Game Programming Patterns
里面介绍了游戏中常用的模式,以及游戏开发领域独有的模式。
但这不属于GoF,在其它领域也不适用。

http://gameprogrammingpatterns.com
Madimo
2014-05-05 22:11:23 +08:00
《设计模式解析》这本书不错,目前正在看
http://book.douban.com/subject/20406704/
akfish
2014-05-05 22:20:26 +08:00
就最原始的<Design Patterns>就行,粗读一遍,然后开始撸项目,只拿来当reference用。
然后你开始看大中型项目的源代码,UI框架的看几个,MVC的App看几个。到后来看项目目录怎么组织的就能知道是什么pattern,反正我是这样的。

撸几个项目你就发现根本不用刻意去想,写出来的代码自然就是某种pattern。
正所谓大巧不工,重剑无锋。
WildCat
2014-05-05 22:24:29 +08:00
@akfish App求推荐源码,iOS的开源App不太好找啊!谢谢!


@akfish
@Mutoo
谢谢!
akfish
2014-05-05 22:35:37 +08:00
@WildCat iOS的没注意过,不用局限于某个平台嘛,也就是各种命名规范和语法不同而已,Design Patterns是超越语言超越平台的存在。
fityme
2014-05-05 22:53:36 +08:00
Head first那本还不错,讲的很生动,但是略厚。楼上推荐的设计模式解析相当赞,不过相对而言比Head first更难懂一些(废话少了点儿,语言更简练
arbipher
2014-05-05 23:03:53 +08:00
@Mutoo 我也刚看完《Game Programming Patterns》。HN每周精选推送的,就看了一下。我不写游戏,但是我觉得用游戏做例子挺好理解的。这本书作为Patterns的书,不如作为基础书更好。作者对Compilers、Prototype、Virtual Machine的解释都挺好的。

此外还看过GoF的原版和《Head First Design Patterns》。

楼主先看《Head First Design Patterns》就好了。看完不过瘾再看GoF原版,如果看懂了,GoF不看也罢。

设计模式的核心就是indirection。
大多数设计模式都在降低耦合,比如从静态绑定推延到动态绑定,比如分离构造函数(factory method),比如分离访问函数(visitor),比如分离逻辑判断(state machine)。
但是不可能把所有部分全都分离了。另一个重点是预测变化,预测程序可能在什么地方发生变化,为了减少发生这种变化时需要修改的代码,需要降低哪些部分之间的耦合度。
有些模式只在静态OOP语言中有用途。有些是优化用的,Flyweight。还有些被喷的,比如Singleton。

结论是如果看了《Head First Design Patterns》,你知道Patterns这玩意的“用意”,就够了。
sivacohan
2014-05-06 10:24:15 +08:00
看《UNIX编程艺术吧》。
知其然,知其所以然。
除了学习设计模式,我们还需要知道设计模式是在什么情况下产生的。目的是解决什么问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/111241

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX