OOAD 板


LINE

※ 引述《andrew43 (Myrmarachne)》之铭言: : 各位先进早安。 : 小弟从小到大学习接触的全都是面向导向语言。最 : 常用的是 PHP 与 Matlab/GNU Octave。换言之, : 我从来没有撰写「物件」这东西的经验。 : 最近买了二三本 JAVA 的书来学习,发现书中很多 : 例子使我跟不上作者的脚步。有的例子是「干嘛抽 : 象化得这麽仔细?」,有的是「为什麽要做这件抽 : 象化?」。追根究底,我对於「物件导向」的思考 : 方式应该是零分吧。 打从一开始就只想着要抽象化是失败的第一步。 当年 UP 之父搞出来的 OOAD 那套, 就有明确的把 OOA 跟 OOD 分离出来, OOA 主要是在处理 problem domain 的问题, OOD 才是处理 solution domain 的问题, 所以在 OOA 的阶段是没有必要急着进行抽象化的, 你只要找出一些解决问题用的 class 和它们之间的关系即可, 而找 class 最常见的有 textual analysis (从 use case 来), 也有利用 CRC card 去找, 或 UP 区分的 bondary、control、entity 三类 class 的方式来找; 当你的 analysis model 确实的建立出来以後, 你也比较能专注在抽象化等 OOD 的工作上。 上面讲的东西如果你想轻松学一点皮毛可以看这本 (并非纯 OOAD): http://tinyurl.com/2l8h2p 想对理论本身了解得更深入一点可以读这本: http://tinyurl.com/4lu3zk 有资管背景的话也能选这本代替上一本: http://tinyurl.com/5klkbh 如果你觉得 OOAD 那套古板枯燥乏味, 你也可以选择走 Extreme Programming 的路线来体会, 反正最终还是会跟 OOAD 殊途同归; 不过你还是得读一些跟 refactoring 相关的书籍, 这样你就可以一开始照直觉把程式一口气写出来, 然後利用你学到的 refactoring 知识一步一步渐进的做改善, 改善到一个程度自然就会引进抽象化, 到时候你就会明白为什麽要做那些抽象化。 refactoring 可以读的翻译书毫无疑问是这两本: http://tinyurl.com/62b85u http://tinyurl.com/5u2aoy 第二本你不熟 pattern 的话可以先不要读, 等你有一天真的对 OOD 十分有感觉看得进 pattern 的书以後再去读它, 台湾的环境其实读过第一本就够你用很久了。 学物件导向当然是要读物件导向本身的书, 只是拿特定语言的书来读, 其实对於精进物件导向概念的帮助不大, 毕竟这类书籍大多着重於展示语言如何支援物件导向, 而不会告诉你实现物件导向的过程和步骤, 方法论的文献和工具的说明书是不能互相取代的。 -- Ling-hua Tseng ([email protected]) Department of Computer Science, National Tsing-Hua University Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.235.126 ※ 编辑: tinlans 来自: 61.230.235.126 (09/06 00:05)
1F:推 andrew43 :非常感谢。 09/09 16:10
2F:推 yen3 :原来真的有人从refactoring下手去了解OOP 09/24 06:34
3F:→ yen3 :因为我自己是这样子切入的,我不太会用第一个方法XD 09/24 06:34
4F:推 cwjen :1 07/25 09:03







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灯, 水草

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

TOP