亚洲精品电影在线观看_伊人精品在线_黄片毛片一级_亚洲免费影院_www.操.com_一本大道久久a久久精二百

<b>大型網(wǎng)站復雜業(yè)務持續(xù)重構之道:全程領域建模實踐</b>

作者: 來源:未知 2012-04-27 20:49:47 閱讀 我要評論 直達商品

  人物介紹:

  Jack Chen ——“寵物商店”的首席架構架構師,擁有豐富的軟件設計與建模經(jīng)驗,但對新生事物持懷疑態(tài)度。

  王總——“寵物商店”的總經(jīng)理,從美國留學后回國創(chuàng)立“寵物商店”網(wǎng)站。一路來唾手可得的成功讓他養(yǎng)成了固執(zhí)專橫的行事作風。

  Spark —— Jack Chen的大學同學,一家商業(yè)軟件公司的高級咨詢顧問。最近熱衷于宣揚“領域驅動設計”的最佳實踐。

  引子

  就象大家所聽說過的那些神奇小子創(chuàng)業(yè)故事一樣,幾只從大西洋游回的海龜找到了一個偉大的idea——在互聯(lián)網(wǎng)上開辦在線商店銷售寵物。幸虧的是他們找到了投資者而且發(fā)展的很不錯。但是隨著時間的推移,當初“完美”的技術架構隨著越來越多的裝進籃子的需求后變得不堪重負。作為公司首席架構師的Jack Chen已經(jīng)被這幾個月“雞毛蒜皮”的需求折磨失眠好幾天啦。

  Jack Chen周一一早就被興奮的王總給喊進了辦公室,立即就被王總扔出來的idea嚇傻了。

  “我有一個很cool的想法,我們可以在線為寵物醫(yī)院提供在線預約的服務業(yè)務。而不僅僅是賣掉它們,你知道這意味著什么嗎?這是一個年產(chǎn)值上百億的市場!!!”。

  “可是王總,我們的系統(tǒng)不能支持這種非實物的服務預訂銷售,它可能對我們原有的網(wǎng)站形成巨大的沖擊,我們需要三個月的時間對這個業(yè)務進行全方面的評估…”

  Jack Chen立即就被氣勢洶洶的王總打斷了,“三個月的評估?我需要在兩個月內就給我上線這個新業(yè)務。我們的投資人非常認可我的idea,并要求我們立即把這個項目上線,它可能會幫助我們提高明年的IPO價格。你明白嗎? DO IT ASAP!”

  評估

  “好吧,也許這個該死的王胖子是對的。我們這個將技術與業(yè)務混在一起的亂攤子也是到了該整理整理的時候。”自言自語發(fā)了半小時牢騷后的Jack Chen終于恢復到正常狀態(tài)上來了,我想我應該看看我們現(xiàn)在是什么樣子的,為了支持這個該死的“在線為寵物醫(yī)院提供在線預約的服務”的需求我們需要做出哪些改變。于是Jack Chen在白板上很快的就畫出了下面的Use Case圖來。

  

 

  圖1 原寵物商店UseCase匯總圖

  為了支持“在線預約”這種特殊的產(chǎn)品,它會影響到大部分的Use Case,具體列舉如下:

  商品信息需要增加“預約時間”這個屬性,客戶在下訂單時會把它作為標識一個預約的關鍵要素。

  “在線預約”是個虛擬的商品,它可不需要真的需要去檢貨和包裝發(fā)貨,如果真的那么做啦,我就太傻了。

  每個寵物醫(yī)院每天都只能接受一定數(shù)量的預約,從這個概念上來說,它與實物商品有類似的庫存概念。可是我該怎么去表達它們呢?

  最要命的是:我真的要把這些所有受影響的Use Case都翻出來去讓它們支持虛擬物品的業(yè)務嗎?我怎么可能在2個月內完成這些重構?

  銀彈

  了無生趣的Jack Chen在王總的辦公室門口徘徊了N圈,還是沒有勇氣去迎接那一通狂風暴雨般的中英文雙語版的羞辱謾罵。“也許事情是有轉機的,我好象在哪里聽說過有種銀彈可以解決這種系統(tǒng)重構的問題的”。“該死,誰把Spark送給我的《領域驅動設計》墊在顯示器下啦,他一直在向我布道這本書給他的項目帶來的種種神奇改變,也許我也可以試試它的威力”。

  “好吧,Spark,我承認你給推薦的書非常棒,你說的也很有道理。我讀了它,明白并一些概念——例如:領域分割 、Entity、Service、Value Object…,可我對于該如何去做還是一頭霧水。你能不能直接把你從重構項目中獲得的最佳實踐直接分享給我呢?不然的話,周一王胖子是不會放過交不出答案的我的!”。讀完了這本書,Jack Chen覺得很有收獲,但又不知道怎么開始,打個電話給領域建模的先行者Spark也許真的是解決問題最快的方法。

  “什么,這個問題說來話長?不要緊,我已經(jīng)在你家門口了,你同我慢慢說”,Jack Chen帶著星巴克咖啡+肯德基全家桶+久久鴨脖+諂媚的笑容出現(xiàn)在Spark家門口。

  布道

  Spark聽完了Jack Chen對于現(xiàn)狀及需求的描述之后,一幅氣定神閑的樣子訕訕地說出“這個很簡單嘛,你現(xiàn)在需要做的只是這樣一些事情:”

  用大比例結構對你的系統(tǒng)進行領域劃分

  找出這個需求影響的領域及對外接口

  建立一個適合你們公司的領域驅動設計的技術框架

  按照需求的緊急度來重構各個領域的設計與編碼

  下面我們就按照這個順序來實踐一下:

  一、概要領域劃分

  Jack Chen立即把自己之前畫的Use Case重畫了一遍,然后用希冀的眼神看著Spark等待著認可。“你的錯誤是過于看重Case或者操作者身份,領域的劃分不是基于功能或角色來進行的,通常來說我們是將內聚程度較高的Use Case歸到一個上下文中。盡量使得領域自閉程度較高,并擁有相同的業(yè)務語言環(huán)境。例如基于你的Use Case圖,我會畫出以下的領域”

  

 

  圖2 寵物商店領域通道圖

  通道圖是一個對業(yè)務領域建模非常有幫助的工具,它可以同時表達出執(zhí)行序列與分片的作用。

  二、找出受影響的領域與接口

  從領域的角度來看,只有商品對外暴露出來的接口是會影響到各個領域,需要優(yōu)先建立商品領域(ProductDomain)及讀取商品信息服務接口(GetProductService)來進行重構。

  之外,在【圖2】 中用綠色標識出來的Use Case是由于增加支持“在線預約”這種虛擬商品所需要進行代碼重構的部分。這部分工作如果工期比較緊,可以優(yōu)先使用模式的方式來進行代碼重構,這樣也可以在之后更加容易用領域驅動設計的方法再次重構。


  推薦閱讀

  軟文寫作“三板斧”以理服人 以情動人 以誠感人

在寫這篇文章的時候,行文天下首先想起的不是下文該怎么寫,而是想起《隋唐英雄傳》中的程咬金。這位豪爽義氣卻又透著可愛的猛將,在眾多人物中算得上運氣最好的一位。雖然文不及李密,武不及秦瓊 ,但是他卻靠自己的>>>詳細閱讀


本文標題:<b>大型網(wǎng)站復雜業(yè)務持續(xù)重構之道:全程領域建模實踐</b>

地址:http://www.zcgs360.cn/a/22/20120427/55629.html

樂購科技部分新聞及文章轉載自互聯(lián)網(wǎng),供讀者交流和學習,若有涉及作者版權等問題請及時與我們聯(lián)系,以便更正、刪除或按規(guī)定辦理。感謝所有提供資訊的網(wǎng)站,歡迎各類媒體與樂購科技進行文章共享合作。

網(wǎng)友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網(wǎng)友評論(點擊查看更多條評論)
友情提示: 登錄后發(fā)表評論,可以直接從評論中的用戶名進入您的個人空間,讓更多網(wǎng)友認識您。
自媒體專欄

評論

熱度

主站蜘蛛池模板: 中文字幕视频在线播放 | 久久国产中文字幕 | 午夜视频免费在线观看 | 最新一区二区三区 | 精品国产一区二区三区四区在线 | 深夜小视频在线观看 | av免费在线网站 | 欧日一级片 | 国产精品18久久久久久久 | 欧美三级日本三级少妇99 | 女人一级一级毛片 | 青草伊人网 | 91久久国产综合精品女同国语 | 91福利国产在线观一区二区 | 国产精品一区二区三区在线 | 日韩一级成人 | 国产男女 爽爽爽爽视频 | 天天艹综合 | 久久久久久久久久久一区 | av电影网站在线 | 久久久久久久久91 | www.狠狠插.com | 久久久久久久.comav | 欧美亚成人 | 国产999视频在线观看 | 成人永久免费 | 日日操夜| 国产午夜精品久久久久婷 | 欧日一级片 | 特一级黄色毛片 | 国产精品呻吟 | 免费视频www在线观看 | 国产成人精品免费视频大全最热 | 久久久久久久久久久av | 欧美一区二区三区不卡免费观看 | 九草网| 97中文字幕第一一一页 | 日本aaa一级片 | 精品一区二区在线视频 | 欧美一级二级毛片视频 | 国产高潮失禁喷水爽到抽搐视频 |