无名图书
收藏
设计模式:可复用面向对象软件的基础
[美] Erich Gamma
出版社
机械工业出版社
出版时间
2019-04-30
ISBN
9787111618331
评分
★★★★★
标签
编程
书籍介绍
这不是一本拿来就能套用的模式字典。许多读者第一次翻开时会被C++与Smalltalk交织的例子劝退,也曾在初学阶段把每个设计都硬套进模式里,结果本末倒置;正是多年实践之后重读,才真正体会到书中那句「要结合所针对的问题及其上下文来判断采用什么模式」的分量。它不堆砌代码,而是逼你思考封装、粒度、依赖、灵活性这些相互冲突的因素如何权衡,讲清的是设计模式的灵魂而非现成答案。适合那些不甘心只做增删改查、愿意反复啃读的人——薄薄一本,值得读很多遍。
AI导读
核心看点
总结23种经典设计模式,奠定面向对象设计基础
通过文档编辑器实例,深入解析模式应用场景
强调针对接口编程及优先使用对象组合原则
读者共识
经典之作但晦涩难读,需有实战经验方能融会贯通
代码示例较老,但设计思想与原则依然极具价值
不适合初学者,建议作为进阶参考书反复研读
精彩摘录
"
将系统分解成对象集合。因为要考虑许多因素:封装、粒度、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常还是互相冲突的。
"
"
类型(type) 是用来标识特定接口的一个名字。
"
"
动态绑定是指发送的请求直到运行时刻才受你的具体的实现的约束。
"
"
进一步讲,动态绑定允许你在运行时刻彼此替换有相同接口的对象。这种可替换性就称为多态(polymorphism),它是面向对象系统中的核心概念之一。
"
"
抽象类(abstract class)(与之对应的还有非抽象类称为具体类(concrete class)。)的主要目的是为它的子类定义公共接口。一个抽象类将把它的部分或全部操作的实现延迟到子类中,因此,一个抽象类不能被实例化。
"
"
子类能够改进和重新定义它们父类的操作。更具体地说,类能够重定义(override)父类定义的操作,重定义使得子类能接管父类对请求的处理操作。
"
"
混入类(mixin class)是给其他类提供可选择的接口或功能的类。它与抽象类一样不能实例化。混入类要求多继承
"
"
针对接口编程,而不是针对实现编程。
"
目录
出版者的话
赞誉
序言
前言
读者指南
显示全部
用户评论
还行
2020.09.05 ~ 2020.10.31
书很薄,但是内容很重要,不甘心做一个CURD程序员。
再次拜读一遍又有新的收货
设计的艺术,可见我离「编程」渐行渐远了。
正如书中所讲述的那样“这不是读完一遍就可以束之高阁的书”。只有在实际应用中去应用它,才能体会到设计模式带来的优势与艺术
刷完了,建议看之前先看重构和(或)代码简洁之道,都是为了复用和减少耦合 建议有一定编程经验再看,不然基本过目就忘 如果觉得读的不爽,可以先看headFirst设计模式
你可能会关注的书籍
设计模式
[美] Erich Gamma
机械工业出版社的其他书籍
查看全部
创新者的第一桶金
杜伟忠
无龄时代
[美]丁敏(Min Ding)
相信的力量
莱斯·布朗(Les Brown)
数据时代的推断陷阱
杨楠
番茄工作法:享誉全球的时间管理系统
【意】弗朗西斯科·西里洛
不慌
史欣悦
下载
收藏