作者larz93 (testing)
看板OOAD
标题Re: [概念] 主动 被动?
时间Mon Nov 1 03:42:16 2010
※ 引述《InitialShuk (Shuk)》之铭言:
: 最近遇到OO问题
: 有一个成绩查询系统 当你输入学号 他会显示你的成绩
: 所以是系统被动等待输入 才去显示成绩(ex: 系统读取学号输入 call 显示成绩 )?
: 还是学生主动call系统method(ex: 系统.成绩(学号) )?
: 蛮困惑我的 不管主动被动都说得通 还是我中间少一个把他们两个串起来的?
呵呵...你这个疑惑,我在七八年前做大学专题时也碰过,也卡了很久
後来有了更多的开发经验後,这个主动、被动的疑惑就在没有再发生过
当时的状况几乎与你一样,要设计一个图书馆借还书系统。
结果在设计图书管理员这个物件时碰到了问题,感觉管理员大部分的功能
都与图书馆重叠
事实上这里我犯了一个错误,太过执着(走火入魔?)将生活情境转换成物件导向,
而忽略了真正要解决的问题 "一个操作介面与借还书系统"
现实中,我们透过管理员进行借还书的动作,所以管理员是图书馆的操作"介面"
但对一个线上借还书系统来说,网页就是操作介面,那我们还要管理员做啥?
所以,你该问问你自己,你的系统真的需要学生这个物件吗?
没有学生这个物件,自然就没有主动、被动的问题
最後,以我的经验来说,设计一个物件的method其实
没有主动、被动的区别,只有适合、不适合的区别
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.36.165.47
※ 编辑: larz93 来自: 114.36.165.47 (11/01 03:45)
1F:推 ogamenewbie :RBAC. 11/01 17:27
2F:推 s3748679 :推~感同身受... 08/18 00:50