作者H45 (!H45)
看板OOAD
标题Re: [资料] 神之物件 (God object, Blob AntiPattern)
时间Sat Aug 4 01:42:47 2007
※ 引述《godfat (godfat 真常)》之铭言:
: ※ 引述《H45 (!H45)》之铭言:
: : 在 Java 中,常常看见一个范例程式的主函式是长这样:
: : public static void main (String[] args) {
: : new MyProgram();
: : }
: : 这样还不打紧,转到 MyProgram.java 去看
: : 哇!不得了了,上千行的程式码通通挤在 public MyProgram() 里面
: 其实我还满爱这样写的,但当然不可能产生 god object,
: 这种事能避免就尽量避免,不过有时候我觉得只是程度问题罢了。
[举例恕删....老实说不太懂你要表达的意思....]
: 接下来就再由 track_panel 和 track_list 自己去办事。
: 主程式大概就分三段:
: 1. url 处理
: 2. new XXXPlayer
: 3. new XXXPlayerView
: 写成:
: // url 处理略过
: new XXXPlayerView(new XXXPlayer(this, url));
: 我是觉得这种写法还满简明的。目前全程式约 600 行,7 个 class.
只要 constructor 不处理「所有」的事情就 OK
利用委派 (Oo aggregation) 的方式,把任务一个一个的交给实作低层方针的物件们
让其他的物件完成较小的任务,组合起来完成整个高层物件的目标
是个合理的想法。
话说回来,身为一个 constructor 应该做「什麽」事情?
虽然没有一定的原则,但是我总觉得 constructor 应该只负责「建立一个物件的属性」
而不应该负责「进行一个物件的行为」
不是吗?
--
讨论看看
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.211.53
1F:推 hanta:委派应该是delegation 09/18 00:33