java 板


LINE

偏离原题所以另辟讨论串. 想讨论一下 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 应该是由最後程式的轮廓所描述出来 , 而不是根据设计师心中的信念所描述 ... 前者是在各种复杂的脑力激荡出来後的事实 , 後者只是设计师无谓的偏执而已...... -- What do you want to have ? / What do you have? 从书本中,你可以发现我的各种兴趣。 从CD中,你可以了解我所喜欢的偶像明星。 或许从文字你很难以了解一个人,但从物品可以。 My PPolis , My past. http://ppolis.tw/user/Tony --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.78.140
1F:→ TonyQ:当然采用h45 说的分离介面有时也是更佳解,只是需要判断介面. 03/08 09:05
2F:推 H45:你的 1. 2. 3. 的 2 我看不太懂,能否举个实例帮助了解呢 :) 03/08 13:08
3F:推 qrtt1:使用时机:1.当你是设计者时。2.当你有那个灵感时 @@ 03/08 13:28
4F:→ TonyQ:复合模式的状况下应该会有2的影子 , 实例现在一时想不起来.. 03/08 13:49







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP