由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Head First Design Pattern写的有问题啊
相关主题
请教个C++问题How many people use design patterns when coding?
[合集] 基类函数已经是virtual了,为啥子类还要virtual啊?design patterns到底有用吗?
子类的destructor被调用时,什么时候调用基类的destructorPython:How to replace 2 different patterns in 1 line in file
C++里,Base Class如何调用Derived Class的method快速系统学习 c++ design pattern有什么好书或者网站吗
为什么指向子类对象的基类指针能访问子类中重载的虚函数,而不继承应该在什么场合用?
C++的"初始化"小结JAVA和C++语言在各个层面上的区别与联系 (转载)
protected构造函数可以防止slicing是什么意思?老调重弹 virtual destructor
有没有能在单台机子上调试mpi程序的simulator? (转载)请推荐一本语言方面的C++书籍
相关话题的讨论汇总
话题: duck话题: pattern话题: head话题: design话题: first
进入Programming版参与讨论
1 (共1页)
A*******e
发帖数: 2419
1
第一章,讲strategy pattern,举的例子是simulated duck,基类duck,派生mallard
duck,redhead duck,rubber duck。基类添加fly()导致rubber duck可以fly(),说这
是个问题,rubber duck不应该fly。
但这个例子本身就有问题啊。duck基类怎么能同时派生真正的动物鸭子和玩具橡皮鸭?
两个鸭子本来就不是一回事。这根本不是对现实世界的抽象,改成bird派生eagle、
pigeon和ostrich还差不多。
亚马逊打分四星半。
https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/
0596007124
N*****m
发帖数: 42603
2
DP还是看四人帮的吧

mallard

【在 A*******e 的大作中提到】
: 第一章,讲strategy pattern,举的例子是simulated duck,基类duck,派生mallard
: duck,redhead duck,rubber duck。基类添加fly()导致rubber duck可以fly(),说这
: 是个问题,rubber duck不应该fly。
: 但这个例子本身就有问题啊。duck基类怎么能同时派生真正的动物鸭子和玩具橡皮鸭?
: 两个鸭子本来就不是一回事。这根本不是对现实世界的抽象,改成bird派生eagle、
: pigeon和ostrich还差不多。
: 亚马逊打分四星半。
: https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/
: 0596007124

s***o
发帖数: 2191
3
钻牛角尖了,这样看书太累:)
A*******e
发帖数: 2419
4
学而不思则罔嘛。
还是这个例子,为何不能用Flyable和Quackable的interface呢?书上说是因为如此每
个鸭子都要实现这些接口。但推荐的FlyBehavior和QuackBehavior不是一样么?唯一的
区别就是is a和has a。当然可以说has a更好(arguably),但并没达到“必须如此”
的级别。

【在 s***o 的大作中提到】
: 钻牛角尖了,这样看书太累:)
r*g
发帖数: 3159
5
只要呱呱叫就是鸭子。

mallard

【在 A*******e 的大作中提到】
: 第一章,讲strategy pattern,举的例子是simulated duck,基类duck,派生mallard
: duck,redhead duck,rubber duck。基类添加fly()导致rubber duck可以fly(),说这
: 是个问题,rubber duck不应该fly。
: 但这个例子本身就有问题啊。duck基类怎么能同时派生真正的动物鸭子和玩具橡皮鸭?
: 两个鸭子本来就不是一回事。这根本不是对现实世界的抽象,改成bird派生eagle、
: pigeon和ostrich还差不多。
: 亚马逊打分四星半。
: https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/
: 0596007124

k**n
发帖数: 3989
6
两个女人四五百只鸭子,所以女人也是鸭子
谁说橡皮鸭不能飞?子类overwr从窗户扔出去就行了

【在 r*g 的大作中提到】
: 只要呱呱叫就是鸭子。
:
: mallard

1 (共1页)
进入Programming版参与讨论
相关主题
请推荐一本语言方面的C++书籍为什么指向子类对象的基类指针能访问子类中重载的虚函数,而不
Design pattern reflecting context changeC++的"初始化"小结
Shell script 问题protected构造函数可以防止slicing是什么意思?
学习design pattern 看哪本书比较好?有没有能在单台机子上调试mpi程序的simulator? (转载)
请教个C++问题How many people use design patterns when coding?
[合集] 基类函数已经是virtual了,为啥子类还要virtual啊?design patterns到底有用吗?
子类的destructor被调用时,什么时候调用基类的destructorPython:How to replace 2 different patterns in 1 line in file
C++里,Base Class如何调用Derived Class的method快速系统学习 c++ design pattern有什么好书或者网站吗
相关话题的讨论汇总
话题: duck话题: pattern话题: head话题: design话题: first