作者juamvla (绿)
看板OOAD
标题Re: [资料] 神之物件 (God object, Blob AntiPattern)
时间Sat Sep 15 06:32:47 2007
※ 引述《H45 (!H45)》之铭言:
: ※ 引述《godfat (godfat 真常)》之铭言:
: : 其实我还满爱这样写的,但当然不可能产生 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 应该只负责「建立一个物件的属性」
: 而不应该负责「进行一个物件的行为」
: 不是吗?
我觉得Constructor就是你想要某一物件一开始被建立时
就马上拥有什麽样的attribute或者拥有什麽样的功能
把它写在Construcor里
而不需要用接下的程式码一个一个执行
简洁程式及强化功能
--
~爱喝无糖绿茶的女生~
~爱开怀大笑的女生~
~容易受感动的女生~
Welcome to my blog:
http://www.mygreenteablog.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.10.93.120
1F:推 H45:当然没错,需求「固定」的时候是可以这麽做 09/15 13:39
2F:→ cplusplus:我不觉得一定每个CASE要设计一个"万用"class... 09/16 00:39
3F:→ cplusplus:把有些预设的事情写在default .ctor也不错吧,其它再来 09/16 00:41
4F:→ cplusplus:设计需要default以外的ctor 09/16 00:41
5F:→ TonyQ:楼上 , 这个要看你设计的level , 举例 如果是做SDK /API 09/29 01:43
6F:→ TonyQ:这个就很重要 , 如果是抛弃式或者改动幅度不大的,it's fine 09/29 01:43