Soft_Job 板


LINE

參考下個人於 10年前所介紹的一本書:Object Models — Strategies, Patterns, and Applications http://www.kenming.idv.tw/ithome_a_cec_a_12_object_models_a_strate/ 其中所揭露的 Transaction Pattern,即為跨 Domain-nature 非常受用的分析技術,藉此得以捕捉系統的主結構。 底下是原個人的書評心得介紹。 一、直指企業核心的本質—交易樣式: 本書主要的作者為 Peter Coad,最早研究所教科用書,有許多就是採用他的著作:“ Object Oriented Analysis、Design ”兩本經典 OO 著作;不過軟體人員對他仍很陌生 ,那麼說出 Borland Together,就會恍然大悟,原來就是他創立的公司研發的主力產品 (後被 Borland 花了兩億美金併購)。 先讓讀者瞭解一下,結構分析主要就是抓各領域的穩定元素來建構軟體系統,而那往往就 是常在溝通的概念術語 (concept terminology)。在設計階段一般是以 UML 類別圖 (class diagram) 來呈現,而具體化在應用系統中的就是所謂的企業物件 (business object);與在資料庫的表格 (table)。兩者的差別主要在於企業物件尚需分析各個物件 所應負擔的責任 (在程式語言則稱之為 方法, method)。分析領域物件與明確分派物件的 責任,正是影響軟體結構彈性度的主要關鍵。 有別於絕大部分 SA/SD 是透過需求訪談記錄一個一個的抓“名詞”,雖然是行之有年, 但那實在不是一種好方法,所抓出來的類別往往見樹不見林,無法有效的將相關的類別關 連於一起。 Peter Coad 是直接直指領域核心,觀察企業行為的本質源自於交易。交易為 商業利益交換的一種契約 (contract),是一種非常必要保存的事件 (event)記錄,再由 此為中心,來串連其它相關類別包括 參與者 (actor),地點 (place),物品 (item),以 及所包含的交易細項 (line-item) 等。這種先抓主幹,再抓枝葉的方式,正是相當著名 由 Peter Coad 所揭露的 “交易樣式 (transaction pattern)”。 以最常見的訂購系統來說好了,“訂購(order)”就是核心的交易類別,再由其串連出來 ,就可以找出“訂購細項(transaction lineitem)”、“客戶(actor)”、“訂購地點 (place)”、“商品項目(item)”等;再轉分析另一個領域如保險業,“保險”絕對是一 個顯而易見的交易類別,而“對保”則是與之有相關連後續的交易類別 (subsequent transaction class);好啦,如果是要分析一個運動彩券投注系統,要你馬上抓出第一個 類別,應該就知道該怎麼抓吧? (投注, 派彩 均為該領域的核心類別) 二、不同層次,傳不同層次的法: 我是從 amazon 購買 a4-size 的硬本精裝版,本書可是有著四顆半星的高評價,讀者對 之推崇甚高。封面為樂高玩具,甚是有趣,看起來其隱喻應該是意指軟體的結構組成,就 如同樂高積木般,一個個地給聚合組裝起來的。共有七個章節,前五章均為各自獨立的案 例分析,後兩章為策略與樣式的整理列表。印刷很不錯,字體大小恰當且清晰,也有很豐 富有趣的插圖。不過內容可是相當艱深,沒有充分的抽象與想像力,是不容易理解的。獨 立閱讀本書可說是非常吃力,我是建議能有幾位同好們一起研讀,甚至以角色扮演的方式 ,來思考所抓出來的類別,以及所賦予其責任的合理性與正確性。 本書的類別表示法均是採用作者自創的語法 (Coad Notation),它可說是自成一格,例如 多重性(multiplicity)就剛好是與 UML 類別圖的表示法完全相反,所以一定要先閱讀附 錄的語法說明。再則從每個案例研討的過程當中,作者總是會列出他在某個分析階段時所 使用的策略或樣式,並將之編號整理在後兩個章節。這個相當的有參考價值,但不要直接 就是翻閱這些策略與樣式列表,那可是相當的枯燥乏味,最好就是配合著這些案例的過程 說明,久而久之,你閱讀起來才會習慣也比較能有感覺。 誰需要閱讀本書呢? 我是覺得想立志當個真正的“軟體人”是必備的。要知道,軟體設 計大概可以分為三個層次;1.把系統“做”出來;2.讓系統效能好一些;3.讓系統更有彈 性,來順應變化。 第一個只要有不錯的實作能力,以及功能需求的分析能力即可;第二 個則需要有對平台的專業知識能力,能充分發揮系統的效能特性;第三個那可真的需要對 軟體的“道”有著長期持續的信仰與熱情方可。我是以為,若能進入到第三個層次,修練 該層次所傳授的法,那絕對會是一種無以言語的喜樂。不過,現今國內軟體產業重視速食 文化,大約只要求在前兩個層次,第三個層次,曠時廢日,不太容易短時間內有著顯著的 實質回饋,因而堅持者甚少,殊為可惜。 ※ 引述《VisualStudio (2017)》之銘言: : 各位前輩好, : 小弟最近在工作上接觸到 : 「Domain-driven design 領域驅動設計」的概念方法, : 有在網路上看了些介紹文章, : 也有找到滿多相關書籍,很多是英文書, : 想請問大家有沒有哪一本書比較推薦呢? : 或平常有使用到領域驅動設計嗎? : https://i.imgur.com/CNvs61A.png -- FB社團:軟體設計鮮思維 https://www.facebook.com/groups/softthinking/ --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.122.227
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1528789724.A.7F0.html
1F:推 VisualStudio: 感謝前輩分享 06/14 19:51







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

請輸入看板名稱,例如:Tech_Job 或 站內搜尋

TOP