作者ericwang1017 (Eric)
看板java
标题Re: [问题] 请教关於design pattern的入门
时间Mon Jan 8 18:15:22 2007
※ 引述《adrianshum (Alien)》之铭言:
: ※ 引述《ericwang1017 (Eric)》之铭言:
: : 很高兴有人发表意见...
: : 不过,简单的来说,程式怎run是都没问题是确定的
: : 我所提的问题是语意的问题
: : 书上的范例是
: : LightOnCmd lightOnCmd = new LightOnCmd.....略
: : 我的观点是
: : invoker 不应该知道细部的command...
: : 所以这边应该是
: : Command lightOncmd = new LightOnCmd
: : 以上
: 没有翻书, 只从你的文字去猜你说的问题所在.
: 你说的是 invoker 不该 declare concrete command?
: 但问题是, Invoker 才是应该知道他想要跑什麽 Command
: 的人, 所以 Invoker declare 并 instantiate 他需要
: 的 command implementation 交由 Executer 去执行反而
: 才是合理的写法.
: 除非 Invoker 做的是 delegate Command to executer 的角色,
: 但这就不是这 Pattern 涵盖的范围了.
: Alien
其实问题很简单....看p207的图就知道
invoker 是remoteControl,他组装了一个Command
而这个command是super class 而不是sub class
这个问题是
书上的范例把invoker要组装的commmand组到ConcreateCommand
但是应该是组装Command....
故我认为那边有问题
这样大家应该看的比较懂了吧....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.243.237.65