作者adrianshum (Alien)
看板java
标题Re: [问题] 请教关於design pattern的入门
时间Mon Jan 8 16:45:00 2007
※ 引述《ericwang1017 (Eric)》之铭言:
: ※ 引述《kojilin》之铭言:
: : 如果英文中文都是p212
: : 我认为这样写无伤大雅
: : 他并未使用concrete class当作method的signature
: : 只是在new时=左边的type使用
: : 这并未影响pattern(这个pattern重点应该在注册跟execute那边吧)
: : 而不会影响到後来的使用
: : 他也不打算让他再後来的程式去等於其他concrete class,所以没多大问题才对
: : koji
: 很高兴有人发表意见...
: 不过,简单的来说,程式怎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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.72.0.45