作者mc18 (无道德事业集团)
看板java
标题Re: [讨论] Optional operation 的使用时机?
时间Tue Mar 10 12:49:55 2009
外行人乱入回个文:p
我觉得是该用什麽pattern, 或是该用什麽样的方法去实作一个需求时,
这些东西决定的时机应该是在analytics - design阶段就该做的事情,
但我相信有不在少数的人还是走所谓的"psuedo-agile-method",
就是需求一来通常马上就eclipse打开开始写东西
(谜: 为什麽是psuedo? 因为大多人写完了注解也很少, 事後reverse出来的文件也没有XD)
在一个requirement出来时, 应该是要先将最基本的需求分析出来, 将它图形化後,
这时候才开始进入所谓的design, 也就是开始做一些基本的static structure diagram.
这些diagram并不是在design阶段就一次到位, 他是渐进式的, 有点类似画图,
开始先构图, 然後修修构图, 最後上色
(抱歉, 我的美术只有国小美劳课等级 ,至少我是这样画图的= =")
在desgin也是一样, 一开始可能在classification後只是先将class的gen-spec关系定义好,
慢慢地,才开始定义object之间的association relationshipe, 然而这是最重要但却最
容易被忽略的部分.
所以这些东西, 我想不论是用什麽样的pattern, 应该是可以练习着不要让他只在脑中想,
可以试着将它图形化, 这或许对整个static structure的design会有很大的帮助...
------------
ptt有OOAD板 XD
※ 引述《TonyQ (沉默是金)》之铭言:
: 偏离原题所以另辟讨论串.
: 想讨论一下 optional operation 的状况 ,
: 基本上我讨厌这种设计 , 所以我很少用 .
: (我个人认为这已经是过度设计了.)
: 因为做了某个操作後 ,
: 会可能会出现梦都梦不到的不支援例外 ,
: 要去考虑这可能性这实在是太麻烦了.
: ────────────────────────────────
: 我大概就思考上归纳一下会用 optional operation 的几个主要环境因素 ,
: 1.这个功能是非常普遍的 (至少占子类别的大多数类别会用到)
: -相对的碰上失败的状况不多 ,
: 可以纯粹当成 RuntimeException/Error 来看.
: 2.大多数时候会以超类别的面貌进行操作时. (ex. state/strategy pattern)
: -有时候虽然功能可能普遍性不那麽高 ,
: 但是因为要以超类别进行操作 , 会将method 上提到超类别 ,
: 并出现部份的 optional operation 状况,
: 有点像是 template method 的 hook method. (这不是很好的例子 :p)
: 3.纯粹是觉得子类别有可能会用上就写了...- -+ (这种状况是最糟的)
: ────────────────────────────────
: 因为我其实是不喜欢 optional operation 的 ,
: 所以顺便讨论一下对所谓 "过度设计" 的看法...
: 随着知道各种设计 pattern 的时间越来越长 ,
: 现在 pattern 大多用来作为沟通跟了解别人写的程式的知识 ,
: 而越来越少自己在程式中以实做 pattern 作为第一考量,
: 至少是比刚学 pattern时少. (我相信随着时间过去还会更少...:p)
: 对於设计方案的练习是很好 , 不过我越来越认为 pattern 就像递回一样,
: 你一定会发现 "就是这个!!!这程式用这个真是天作之合的!!!" 的时候,
: 到那时候再用就好 , 其他时候就本着自己的判断来写吧...
: 像我有一阵子滥用 state , 後来又有一阵子拼命用 singleton ,
: 後来都吃到苦头 , 想想自己都觉得很蠢.orz
: 设计方面的议题很难论断 , 不过透过经验的分享与交流应该会有一点帮助 .
: 不过有几个 pattern 算是神龙见首不见尾 , 很难知道自己有没有掌握...
: 像 MVC 这个 pattern 虽然概念上很清楚 ,
: 但是实做上不太容易区分 m-v-c 三个部份.
: 常常听到设计师(包括我也曾经这样)会说自己用了 MVC ,
: 但是却无法对资料、显示、逻辑这三个区块 ,
: 在实做中的引用作进一步的说明 ,
: 於是最後的话就是 "我程式有用 MVC 概念(用在哪?) 嗯...(开始想) "
: 主要想说的是大部分状况下 , pattern 应该是由最後程式的轮廓所描述出来 ,
: 而不是根据设计师心中的信念所描述 ...
: 前者是在各种复杂的脑力激荡出来後的事实 ,
: 後者只是设计师无谓的偏执而已......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.172.154
1F:推 PsMonkey:XD 不好意思敢人过去 [误] 03/10 13:10