孫向暉-《領域驅動設計》讀書心得交流會-UMLChina講座-實錄

時間

北京時間2006年3月30日(週四)晚上19:00-21:00

主持人

孫向暉。負責《領域驅動設計》中譯本的技術審校工作。他的blog"豆豆他爹的生活隨筆"。

dddcover.png

sunshineormer.jpg


聊天記錄

(2006.03.30)(19:03:26)sunshineormer與taotzy說:大家好,我們開始吧。

(2006.03.30)(19:04:01)*umlchina_seminar與sunshineormer說:好

(2006.03.30)(19:04:25)sunshineormer與所有人說:非常感謝大家光臨《DDD》的讀書交流會

(2006.03.30)(19:05:28)sunshineormer與所有人說:應該講:DDD這本書讓大家久等了,DDD的中文版更是讓大家久等了。

(2006.03.30)(19:07:06)sunshineormer與所有人說:從2004年開始,很多的朋友就在期盼這本書的中文版

(2006.03.30)(19:07:22)*umlchina_seminar與taotzy說:不只,大家吃飯去了

(2006.03.30)(19:08:04)sunshineormer與所有人說:UMLChina的夥伴們也積極參與到這本書的翻譯和審校中

(2006.03.30)(19:08:31)sunshineormer與所有人說:原來計劃這本書可以在2005年出版,結果推遲到06年的3月。

(2006.03.30)(19:09:57)sunshineormer與所有人說:朋友們對這本書的期待可以從chinapub上的圖書評論上可以看出來。

(2006.03.30)(19:11:08)*joe阿牛 enter this room.

(2006.03.30)(19:11:18)sunshineormer與所有人說:我知道現在是吃晚餐的時間,感謝光臨交流會的各位,能夠選擇在這個時間和我們一起分享你對DDD的感悟,理解和遺惑

(2006.03.30)(19:12:13)*joe阿牛與所有人說:終於進來了不容易啊,umlchina不能訪問了,

(2006.03.30)(19:12:31)driftfly與所有人說:感謝sunshineormer能利用休息時間來和大家分享DDD

(2006.03.30)(19:12:45)sunshineormer與taotzy說:我這有一個提綱,因爲是交流會,沒有準備ppt

(2006.03.30)(19:13:08)evanyuan與所有人說:準備了ppt,我們能看到麼?

(2006.03.30)(19:13:29)*umlchina_seminar與*joe阿牛說:umlchina服務器當了

(2006.03.30)(19:13:35)*umlchina_seminar與*joe阿牛說:在修復

(2006.03.30)(19:14:09)*joe阿牛與汶說:幸好我用baidu的快照 ( 啥時候開始?

(2006.03.30)(19:14:13)*joe阿牛與汶說:纔看到入口

(2006.03.30)(19:14:19)*joe阿牛與汶說:大家先討論一下吧?

(2006.03.30)(19:14:25)*joe阿牛與汶說:有沒有人實施過ddd了?

(2006.03.30)(19:14:53)*joe阿牛與所有人說:幸好我用baidu的快照

(2006.03.30)(19:15:00)*joe阿牛與所有人說:纔看到入口

(2006.03.30)(19:15:16)*joe阿牛與所有人說:大家先討論一下吧? 有沒有人開始實施ddd?

(2006.03.30)(19:15:38)gilbert2002與所有人說:我是收到雅虎通的離線消息,上面又入口啊

(2006.03.30)(19:16:17)sunshineormer與所有人說:evan,你那邊實施DDD了嗎?

(2006.03.30)(19:16:18)☆平凡與偉大 enter this room.

(2006.03.30)(19:17:12)evanyuan與所有人說:說不上,系統規模很小,歷史數據庫結構比較頑強,offshore的開發,需求搞得不是很清楚

(2006.03.30)(19:17:25)開心 enter this room.

(2006.03.30)(19:17:32)evanyuan與所有人說:on-site很重要啊

(2006.03.30)(19:17:39)sunshineormer與所有人說:我說一下我的理解吧,現在能夠大面積的實施DDD的公司或者項目,可能並不多

(2006.03.30)(19:18:22)*joe阿牛與所有人說:大家來說說困難吧,然後討論一下如何解決

(2006.03.30)(19:18:40)*joe阿牛與所有人說:我先拋個磚,

(2006.03.30)(19:18:45)sunshineormer與所有人說:一般的公司或者項目,也不會輕易的改換自己「熟悉」了的做法

(2006.03.30)(19:18:48)coly enter this room.

(2006.03.30)(19:19:05)*joe阿牛與所有人說:我對書中"聚合"和聚合根的做法有些疑惑...

(2006.03.30)(19:19:05)sunshineormer與所有人說:好的,歡迎joe分享一下他的心得

(2006.03.30)(19:19:30)*joe阿牛與所有人說:假設聚合有三層甚至四層

(2006.03.30)(19:19:40)*joe阿牛與所有人說:聚合根的職責豈不是太龐大了?

(2006.03.30)(19:20:03)coly與所有人說:大家好,我剛剛進來

(2006.03.30)(19:20:11)coly與所有人說:先問候一聲了

(2006.03.30)(19:20:25)*joe阿牛與所有人說:還有, 所謂聚合外實體只能臨時「使用」聚合內部的對象,而不能「持有」

(2006.03.30)(19:20:40)*joe阿牛與所有人說:請問,臨時使用和持有,有什麼區別?

(2006.03.30)(19:21:17)evanyuan與所有人說:我碰到最大的困難是組織結構的問題,如果大家對Domain集成那章有印象的話,在公司各項目組合作不流暢或缺少全局規劃的情況下, 就只有使用SeperateWay的形式

(2006.03.30)(19:21:42)sunshineormer與所有人說:joe提出是一個很好的問題。不知道哪位朋友先說一下自己的理解?

(2006.03.30)(19:22:14)wugang enter this room.

(2006.03.30)(19:23:28)evanyuan與所有人說:SeperateWay,首先單個項目裏面Domain大不起來,想要利用其它項目的Domain,又會面臨集成的複雜度

(2006.03.30)(19:23:47)*糖果咖啡 enter this room.

(2006.03.30)(19:24:37)*joe阿牛與所有人說:evan,你的期望是不是漸進實施ddd?

(2006.03.30)(19:25:04)*joe阿牛與所有人說:剛纔我提到的臨時使用和持有, 在中文版的91頁下

(2006.03.30)(19:26:28)chenge enter this room.

(2006.03.30)(19:26:58)亂髮吹風 enter this room.

(2006.03.30)(19:27:10)evanyuan與所有人說:漸進實施DDD?

(2006.03.30)(19:27:38)*joe阿牛與所有人說:那如果整個項目的領導,都沒有意願去實施ddd,

(2006.03.30)(19:27:56)*joe阿牛與所有人說:這是管理的問題

(2006.03.30)(19:28:15)*無極超人 enter this room.

(2006.03.30)(19:28:30)*無極超人 enter this room.

(2006.03.30)(19:28:39)*joe阿牛與所有人說:sunshineormer,

(2006.03.30)(19:28:44)sunshineormer與所有人說:我在

(2006.03.30)(19:28:45)*joe阿牛與所有人說:你的意見呢, 關於聚合

(2006.03.30)(19:28:48)亂髮吹風與*umlchina_seminar說:怎麼沒有聲音

(2006.03.30)(19:29:17)*joe阿牛與所有人說:主講人是誰呢?

(2006.03.30)(19:29:17)sunshineormer與所有人說:關於Agg,就我目前看到的項目,很少有人在這麼用。

(2006.03.30)(19:29:32)sunshineormer與所有人說:回答Joe的提問

(2006.03.30)(19:29:54)*umlchina_seminar與sunshineormer說:目前沒有人語音說話,願意說話的就提示一下,以便傳遞麥克

(2006.03.30)(19:30:02)evanyuan與所有人說:我覺得DDD還是個比較新的概念,在大部分公司裏面的高層項目負責人(甚至技術負責人)未必對這些東西瞭解。所以首先需要這撥人能把DDD熟悉瞭解起來。

(2006.03.30)(19:30:24)*joe阿牛與所有人說:如果聚合內部必須要經由聚合根導航的話,倒是可以高內聚了,

(2006.03.30)(19:30:32)evanyuan與所有人說:否則光下面的分析或開發人員搞DDD或RichDomainModel,得不償失

(2006.03.30)(19:30:40)*joe阿牛與所有人說:但如果層數過多,就成了怪物

(2006.03.30)(19:30:46)sunshineormer與所有人說:書中的不變量,我們可以認爲是一種內在的規則

(2006.03.30)(19:31:34)亂髮吹風與*umlchina_seminar說:可否簡單介紹一下DDD

(2006.03.30)(19:31:35)*joe阿牛與所有人說:evan, 現在應該討論如何說服領導,還是討論假設你是領導你如何排除障礙?

(2006.03.30)(19:31:43)sunshineormer與所有人說:Agg的擁有和臨時持有,我跟我的一個朋友討論過

(2006.03.30)(19:32:03)evanyuan與*umlchina_seminar說:呵呵,建議使用Sina UC的語音聊天系統,比這裏的要好些

(2006.03.30)(19:32:11)*joe阿牛與所有人說:不變量, 赫赫,這個詞翻譯得有點怪,容易讓人誤解

(2006.03.30)(19:32:31)*joe阿牛與所有人說:哦, sun

(2006.03.30)(19:32:34)*joe阿牛與所有人說:說說你們的討論

(2006.03.30)(19:33:13)sunshineormer與所有人說:我們的意見是:擁有 可以簡單理解成 創建和修改;臨時持有,所有權是不轉移的,也就是說,你可以在單個操作總看,但是不能去修改

(2006.03.30)(19:33:47)*joe阿牛與所有人說:就是說,這個約束完全靠人的規範,而不是一種設計上的強約束?

(2006.03.30)(19:33:53)sunshineormer與所有人說:舉一個很簡單的例子:訂單和訂單行,

(2006.03.30)(19:34:08)*joe阿牛與所有人說:這意味着更多的成本才能保證。

(2006.03.30)(19:34:42)*joe阿牛與所有人說:嗯。

(2006.03.30)(19:34:48)sunshineormer與所有人說:訂單,肯定是有規則的

(2006.03.30)(19:35:06)sun enter this room.

(2006.03.30)(19:35:31)sunshineormer與所有人說:比方說,一個A類客戶,可以一次訂購3箱捲菸

(2006.03.30)(19:35:47)sunshineormer與所有人說:並執行的是特殊折扣價格

(2006.03.30)(19:35:47)峨峨eee enter this room.

(2006.03.30)(19:36:04)*joe阿牛與所有人說:如果只由兩層,看不出什麼問題。 我舉一個例子,假設在郵件系統裏面,一個用戶有多個郵件帳戶,每個郵件帳戶可以收取多封郵件,每逢郵件有多個附件,====

(2006.03.30)(19:37:06)evanyuan與所有人說:OrderLine也會連到Product的 :-)

(2006.03.30)(19:37:50)evanyuan與所有人說:這樣也三層了,不過Product又可以看做一個聚合體了。對比來看,附件可能也可以作爲新的聚合體了

(2006.03.30)(19:38:11)sunshineormer與所有人說:不只是簡單到link到product那麼簡單吧?

(2006.03.30)(19:38:13)*joe阿牛與所有人說:對,關鍵是這個,

(2006.03.30)(19:38:29)*joe阿牛與所有人說:也就是說,我要從order拿到product,

(2006.03.30)(19:38:34)sunshineormer與所有人說:joe,你分析一下,你的例子中,有幾個root吧。

(2006.03.30)(19:38:43)*joe阿牛與所有人說:而不能從orderline拿到product

(2006.03.30)(19:39:33)evanyuan與*joe阿牛說:order和product關聯

(2006.03.30)(19:39:35)*joe阿牛與所有人說:這是個讀的例子,可能應該可以由orderline拿到product

(2006.03.30)(19:39:36)evanyuan與*joe阿牛說:?

(2006.03.30)(19:39:53)evanyuan與*joe阿牛說:通常都是orderline和product關聯吧

(2006.03.30)(19:40:18)*joe阿牛與所有人說:恩。

(2006.03.30)(19:40:46)sunshineormer與所有人說:joe,你看一下6.11

(2006.03.30)(19:40:53)sunshineormer與所有人說:圖6.11

(2006.03.30)(19:40:59)坐看桃花開_859 enter this room.

(2006.03.30)(19:41:08)坐看桃花開_868 enter this room.

(2006.03.30)(19:41:33)evanyuan與所有人說:問sunshine個問題,現在也有不少項目在使用RichDomainModel,用Hibernate等映射工具進行O/R map,你覺得類似的大部分項目和DDD比起來,還差些什麼?

(2006.03.30)(19:42:22)坐看桃花開_942 enter this room.

(2006.03.30)(19:42:35)sunshineormer與所有人說:回答evan:首先是缺乏了對業務的熟知

(2006.03.30)(19:43:05)sunshineormer與所有人說:然後,是對領域模型的進一步的梳理。

(2006.03.30)(19:44:21)sunshineormer與所有人說:最後,你說的rich domain model的實際使用情況,我感覺不是太樂觀

(2006.03.30)(19:44:32)*joe阿牛與所有人說:有哪些障礙呢?

(2006.03.30)(19:44:44)evanyuan與所有人說:那你就是對DDD在實現層面的運用不樂觀了?

(2006.03.30)(19:44:49)*joe阿牛與所有人說:對不起,再深入問一下聚合的問題:

(2006.03.30)(19:44:52)*joe阿牛與所有人說:聚合根是否要負責聚合內部實體的持久化和重建(reconstitute)?如果是,聚合根是否要注入聚合內部實體的持久化服務?

(2006.03.30)(19:45:14)sunshineormer與所有人說:evan,先繼續joe的話題吧。呵呵

(2006.03.30)(19:45:54)sunshineormer與所有人說:joe,我讓你看的圖,你看到了嗎?product應該是在order的agg 之外的。

(2006.03.30)(19:46:02)*§童話還不夠美§ enter this room.

(2006.03.30)(19:46:03)*joe阿牛與所有人說:我看過了的

(2006.03.30)(19:46:25)sunshineormer與所有人說:還有就是你說的郵件的那個例子,幸好,我也做過實現。也不是在一個agg中

(2006.03.30)(19:46:33)fjqian enter this room.

(2006.03.30)(19:46:37)evanyuan與*joe阿牛說:舉個簡單的例子,hibernate裏面的component好象就可以解決這個持久化問題吧

(2006.03.30)(19:46:45)*joe阿牛與所有人說:嗯,我也知道我舉郵件的例子牽強了,

(2006.03.30)(19:46:49)*joe阿牛與所有人說:不必是聚合的。

(2006.03.30)(19:47:30)sunshineormer與所有人說:關於你提出的持久化問題,我也思考過,並和朋友實踐過。

(2006.03.30)(19:47:34)*joe阿牛與所有人說:那持久化之前的約束,也就是「不變量」邏輯,應該放在哪兒?

(2006.03.30)(19:47:43)*joe阿牛與所有人說:嗯? 怎麼樣作?

(2006.03.30)(19:47:55)sunshineormer與所有人說:首先,持久化,不是由agg root去做的。

(2006.03.30)(19:48:20)*joe阿牛與所有人說:什麼叫「做」?發起算不算做?代理給別人?

(2006.03.30)(19:49:08)sunshineormer與所有人說:你應該是建立一個repository,讓它去完成agg root的初始化

(2006.03.30)(19:49:27)evanyuan與所有人說:我覺得「不變量」,分兩種,一種是可在系統使用前初始化的枚舉或常量值,比如中國的城市;

(2006.03.30)(19:49:38)*joe阿牛與所有人說:也就是說 client--> repository---生成--〉entity

(2006.03.30)(19:49:44)sunshineormer與所有人說:如果是你從頭建一個agg root,那個應該是用factory去new 這個agg root

(2006.03.30)(19:49:55)*joe阿牛與所有人說:這個我理解。

(2006.03.30)(19:50:12)sunshineormer與所有人說:注意:repository,更多的是重建agg root

(2006.03.30)(19:50:18)*joe阿牛與所有人說:那麼如果一個領域邏輯, 在做完一定事情之後,要持久化自己,

(2006.03.30)(19:50:20)*joe阿牛與所有人說:怎麼做呢?

(2006.03.30)(19:50:25)evanyuan與所有人說:還有種是書裏所謂的ValueObject,比如Person-->Address,Address通常看做ValueObject。 不知道我理解對不對?

(2006.03.30)(19:50:40)sunshineormer與所有人說:而且,這部分,最好是由ORMapping工具來完成。

(2006.03.30)(19:51:01)*joe阿牛與所有人說:是entity.save()還是repository.save(entity)?

(2006.03.30)(19:51:21)sunshineormer與所有人說:我寫過一篇blog,講過save的事情。

(2006.03.30)(19:51:23)永方 enter this room.

(2006.03.30)(19:51:29)*joe阿牛與所有人說:如果是後者,那麼,這個調用的發起者是client還是entity?

(2006.03.30)(19:51:35)sunshineormer與所有人說:當然是後者了

(2006.03.30)(19:51:43)*joe阿牛與所有人說:赫赫,share一下,網址?

(2006.03.30)(19:52:30)*joe阿牛與所有人說:第二個問題?

(2006.03.30)(19:52:38)evanyuan與所有人說:兩種選擇,都可以...,結果是Domain對象對持久化機制有沒依賴性了

(2006.03.30)(19:52:38)*joe阿牛與所有人說:如果是後者,那麼,這個調用的發起者是client還是entity?

(2006.03.30)(19:53:09)*joe阿牛與所有人說:。。。 如果是後者, entity當然對repository有意來

(2006.03.30)(19:53:11)*joe阿牛與所有人說:依賴

(2006.03.30)(19:53:26)sunshineormer與所有人說:http://sunshineormer.blogdriver.com/sunshineormer/417702.html

(2006.03.30)(19:53:40)*joe阿牛與所有人說:也就是說, entity調用repository.save(this)

(2006.03.30)(19:53:59)evanyuan與所有人說:八會吧

(2006.03.30)(19:54:02)sunshineormer與所有人說:依賴是從repository到entity的。

(2006.03.30)(19:54:19)evanyuan與所有人說:一般是有什麼facade啊,applicationLayer啊來調用吧

(2006.03.30)(19:55:12)*joe阿牛與所有人說:ok,我猜想你們的答案是如此

(2006.03.30)(19:55:27)*joe阿牛與所有人說:那麼想想client的調用順序吧

(2006.03.30)(19:55:38)*joe阿牛與所有人說:client就是你們說的service

(2006.03.30)(19:57:08)*joe阿牛與所有人說:我說的service就是應用層的

(2006.03.30)(19:57:39)sunshineormer與所有人說:請大家記住,entity是永遠不知道存儲的

(2006.03.30)(19:58:49)*joe阿牛與所有人說:那麼會變成這樣,service{ someresult= entity.dosomething();

(2006.03.30)(19:58:53)*joe阿牛與所有人說:if (someresult==expercted) {repository.save(entity)}}

(2006.03.30)(19:58:57)evanyuan與sunshineormer說:也未必吧,有些人就是要Entity倚賴個存儲層的接口,然後在Entity.Save()裏面調用存儲層的接口實現存儲

(2006.03.30)(19:59:18)*joe阿牛與所有人說:對,我傾向於這樣。

(2006.03.30)(19:59:35)*joe阿牛與所有人說:sun請看我剛纔的代碼

(2006.03.30)(19:59:42)evanyuan與*joe阿牛說:這些討論,網上太多了

(2006.03.30)(20:00:06)*joe阿牛與所有人說:我聽不太順暢。。。 -_-b

(2006.03.30)(20:00:47)*joe阿牛與所有人說:對,一切做法都是爲了使領域層保持獨立,

(2006.03.30)(20:01:33)*joe阿牛與所有人說:sorry,, ,聽不清楚。。。

(2006.03.30)(20:01:55)真 enter this room.

(2006.03.30)(20:02:22)*joe阿牛與所有人說:任何使用repository的client,都不用關心對象是如何被持久和存儲的。對client來說,存儲是透明的。

(2006.03.30)(20:02:34)*joe阿牛與所有人說:entity爲什麼不可以是repo的client?

(2006.03.30)(20:02:36)sunshineormer與所有人說:我還是想強調一下,DDD和企業應用架構模式PEAA的關係。

(2006.03.30)(20:02:40)evanyuan與所有人說:sunshine,DDD是否是從概念模型逐漸細化到實現模型?

(2006.03.30)(20:03:37)sunshineormer與所有人說:如果你想使用DDD中提出的這些概念、理論,那麼你必需先保證,你用到的是PEAA中(業務邏輯層)的Domain Model模式

(2006.03.30)(20:04:00)*joe阿牛與所有人說:是這樣, 請看我剛纔那兩行僞代碼

(2006.03.30)(20:04:09)*joe阿牛與所有人說:someresult==expercted

(2006.03.30)(20:04:14)sunshineormer與所有人說:joe

(2006.03.30)(20:04:16)*joe阿牛與所有人說:這個很多情況下是領與邏輯

(2006.03.30)(20:04:21)*joe阿牛與所有人說:領域邏輯

(2006.03.30)(20:04:37)driftfly_277 enter this room.

(2006.03.30)(20:04:54)*joe阿牛與所有人說:然而如果禁止entity調用repo的話,那麼應用層不得不負責這塊領域邏輯

(2006.03.30)(20:04:57)tianshannv enter this room.

(2006.03.30)(20:05:09)*joe阿牛與所有人說:換言之,妨礙了領域層的獨立性。

(2006.03.30)(20:05:29)*joe阿牛與所有人說:不知道我的理解是否正確?

(2006.03.30)(20:06:01)sunshineormer與所有人說:joe,我發了好多字,你能看到嗎

(2006.03.30)(20:06:15)evanyuan與所有人說:這個...,DDD裏面有所謂的「應用邏輯」和

(2006.03.30)(20:06:20)evanyuan與所有人說:「領域邏輯」

(2006.03.30)(20:06:29)*joe阿牛與所有人說:如果允許entity調用repo的話,那麼就變成service{entity.dosomething()}了

(2006.03.30)(20:06:31)*joe阿牛與所有人說:沒看到阿

(2006.03.30)(20:07:22)evanyuan與所有人說:而且就Domain本身,可能還會有個Service層(充當Domain的facade)

(2006.03.30)(20:07:45)永方 enter this room.

(2006.03.30)(20:07:59)tianshannv與*joe阿牛說:jixushuo

(2006.03.30)(20:08:05)evanyuan與所有人說:所以偶在做系統的時候,實現層面「邏輯」究竟往哪放,有時候是個比較頭疼的事

(2006.03.30)(20:08:13)sunshineormer與所有人說:hi

(2006.03.30)(20:08:20)evanyuan與所有人說:可能和Joe的疑惑有點接近吧

(2006.03.30)(20:08:25)sunshineormer與所有人說:大家好,

(2006.03.30)(20:08:38)*joe阿牛與所有人說:對,martin也說區分這兩者很困難

(2006.03.30)(20:09:02)*joe阿牛與所有人說:所以我想,如果entity能調用repo,就可以解決了,我不知道有什麼壞處?

(2006.03.30)(20:09:10)evanyuan與所有人說:最重要的是保證一個開發團隊儘量有一致的思路

(2006.03.30)(20:09:38)*joe阿牛與所有人說:tianshannv, 我不擅長看拼音阿

(2006.03.30)(20:09:45)*joe阿牛與所有人說:可能會慢。

(2006.03.30)(20:10:09)sunshineormer與所有人說:如果大家使用sping配合hibernate,就會比較容易理解這部分。

(2006.03.30)(20:10:30)*joe阿牛與所有人說:如果entity能調用repo, 我會用接口把repo抽象出來,勉強弄靈活點

(2006.03.30)(20:11:36)sunshineormer與所有人說:joe,在嗎?

(2006.03.30)(20:11:41)*joe阿牛與所有人說:在

(2006.03.30)(20:11:51)*joe阿牛與所有人說:我沒看到你發東西哦?

(2006.03.30)(20:12:00)evanyuan與*joe阿牛說:關於Domain持久化的問題, JavaEye上面已經有N多討論了,建議去看看

(2006.03.30)(20:12:07)sunshineormer與所有人說:ok,你爲什麼要用entity.save()呢?

(2006.03.30)(20:12:17)evanyuan與sunshineormer說:sunshine,DDD是否是從概念模型逐漸細化到實現模型?

(2006.03.30)(20:12:35)tianshannv與evanyuan說:NAQ BING BU ZHONGYAO WO JIYANXIANGLIAO KE SHI ZHEN DE A BU XINMA

(2006.03.30)(20:12:58)sunshineormer與*umlchina2說:可以給我mic嗎?

(2006.03.30)(20:13:12)*joe阿牛與所有人說:。。。 sun,那麼如何解決應用層要管理someresult==expected的邏輯呢?

(2006.03.30)(20:13:27)sunshineormer與*umlchina2說:回答evan:我認爲,是

(2006.03.30)(20:13:33)evanyuan與sunshineormer說:呵呵,遭受DDD反動份子的攻擊了(tainshannv)

(2006.03.30)(20:14:14)evanyuan與所有人說:ok, sunshine,你認爲實現層面要細化到什麼層度呢?

(2006.03.30)(20:14:20)sunshineormer與*umlchina2說:to joe:把你說的應用層分開:形成一個業務服務層,

(2006.03.30)(20:14:35)sunshineormer與*umlchina2說:mic還是不好用

(2006.03.30)(20:15:07)*joe阿牛與所有人說:那業務服務層和普通的transaction script有什麼不同?

(2006.03.30)(20:15:09)惠蘋 enter this room.

(2006.03.30)(20:15:15)evanyuan與所有人說:當我不斷的試圖在分析設計階段細化Domain的時候,我想,這樣是不是和敏捷開發和XP背道而馳了。 你怎麼看?

(2006.03.30)(20:15:18)sunshineormer與*umlchina2說:to evan: 理想的狀態,是整個領域模型(對象和之間關係)都在

(2006.03.30)(20:15:25)sunshineormer與*umlchina2說:而且很完整

(2006.03.30)(20:15:43)sunshineormer與*umlchina2說:還是不行

(2006.03.30)(20:15:46)*joe阿牛與所有人說:有了這個東西,如何很清晰的分配職責? 哪些應該是entity的,哪些是業務服務層的?

(2006.03.30)(20:16:41)sunshineormer與所有人說:記住基本的一點:entity不關心存儲邏輯就行

(2006.03.30)(20:16:43)tianshannv與*joe阿牛說:bu zhidao zai ganxie sm weicizaidiannianfangxinbuxia

(2006.03.30)(20:17:09)*joe阿牛與所有人說:所有人都說entity不關心存儲邏輯, 那麼理由何在?

(2006.03.30)(20:17:45)sunshineormer與所有人說:這和evan的問題有一些管理

(2006.03.30)(20:17:47)test enter this room.

(2006.03.30)(20:17:54)*joe阿牛與所有人說:關聯,

(2006.03.30)(20:17:59)*joe阿牛與所有人說:?

(2006.03.30)(20:18:01)sunshineormer與tianshannv說:sorry,看不懂。

(2006.03.30)(20:18:13)lanwei enter this room.

(2006.03.30)(20:18:17)sunshineormer與tianshannv說:對,呵呵。sorry

(2006.03.30)(20:18:54)sunshineormer與所有人說:也就是說,DDD提倡領域模型,一直到最後實現了,還是完整存在的

(2006.03.30)(20:19:17)sunshineormer與所有人說:這更符合我們最初的OO的思想

(2006.03.30)(20:19:59)lanwei與所有人說:大家好呀.今天的講座,有資料可以下載嗎?

(2006.03.30)(20:20:15)evanyuan與所有人說:我覺得還需要資料介紹如何把DDD融入到RUP,XP等開發流程中

(2006.03.30)(20:20:18)*joe阿牛與所有人說:ok, sun,我就拿書中例子說吧,

(2006.03.30)(20:20:24)sunshineormer與所有人說:好的 ,我的msn: [email protected]

(2006.03.30)(20:20:25)*joe阿牛與所有人說:50頁的圖

(2006.03.30)(20:20:31)lanwei與所有人說:沒有書呀.

(2006.03.30)(20:20:41)evanyuan與所有人說:否則....,推廣的難度還是很大的

(2006.03.30)(20:20:52)tianshannv與lanwei說:kan zhe ban wo shuozuode na you smbu hao de wo keting lai guanjiang

(2006.03.30)(20:21:03)sunshineormer與所有人說:sorry,你告訴我,哪個圖,我是英文版的。

(2006.03.30)(20:21:11)evanyuan與所有人說:「我覺得還需要資料介紹如何把DDD融入到RUP,XP等開發流程中「, sunshine,你怎麼看?

(2006.03.30)(20:21:30)*joe阿牛與所有人說:a234.addToUnitOfWork(a234)

(2006.03.30)(20:21:41)*joe阿牛與所有人說:就是轉賬的圖

(2006.03.30)(20:21:42)tianshannv與sunshineormer說:不錯啊我是學英語的啊怎嗎知道來啊

(2006.03.30)(20:22:36)sunshineormer與所有人說:今天是一個讀書會,我問過think,所以沒有整理ppt

(2006.03.30)(20:22:52)*joe阿牛與所有人說:這個addToUnitOfWork,不就應該是update()麼?

(2006.03.30)(20:22:56)tianshannv與sunshineormer說:現在可要學好一你雷鋒爲榜樣

(2006.03.30)(20:23:17)sunshineormer與所有人說:我會另外找機會整理一個ppt,不知道以後是不是有機會跟大家進行細緻的交流

(2006.03.30)(20:23:20)*joe阿牛與所有人說:難道應該讓fundsTransferService.update(a234)?

(2006.03.30)(20:23:25)lanwei enter this room.

(2006.03.30)(20:23:43)sunshineormer與所有人說:另外,我會把更多的內容寫到我的blog中,請大家關注。

(2006.03.30)(20:23:54)*joe阿牛與所有人說:請sun回答,謝啦,

(2006.03.30)(20:24:04)sunshineormer與所有人說:可以發mail給我 [email protected]

(2006.03.30)(20:24:14)sunshineormer與所有人說:to joe:ok

(2006.03.30)(20:25:45)*joe阿牛與所有人說:哦剛纔我寫錯了,應該是:

(2006.03.30)(20:25:59)*joe阿牛與所有人說:fundsTransferService{repository.update(a234)}

(2006.03.30)(20:26:05)sunshineormer與所有人說:是圖4.1嗎?

(2006.03.30)(20:26:09)*joe阿牛與所有人說:對

(2006.03.30)(20:26:21)*joe阿牛與所有人說:a234.update()

(2006.03.30)(20:26:24)sunshineormer與所有人說:我的書太厚了,呵呵,稍等

(2006.03.30)(20:26:32)*joe阿牛與所有人說:這個和上面那個,選哪個?

(2006.03.30)(20:26:58)*joe阿牛與所有人說:a234.update() {repository.update(this)}

(2006.03.30)(20:26:58)tianshannv與sunshineormer說:別在這裏詛咒好不好我現在不想說着你又來了你看你

(2006.03.30)(20:27:44)tianshannv與sunshineormer說:廣東方面可好啊

(2006.03.30)(20:28:16)tianshannv與sunshineormer說:別那着自己人不當人哈

(2006.03.30)(20:28:33)sunshineormer與tianshannv說:你是說a234中調用了uow manager?

(2006.03.30)(20:28:42)sunshineormer與所有人說:你是說a234中調用了uow manager?

(2006.03.30)(20:29:17)*joe阿牛與所有人說:uow?

(2006.03.30)(20:29:59)tianshannv與*joe阿牛說:到底叫什麼來跟我說我給你好的吃

(2006.03.30)(20:30:37)sunshineormer enter this room.

(2006.03.30)(20:30:41)tianshannv與*joe阿牛說:想吃什麼儘管說可不要不說要不不來勁了啊

(2006.03.30)(20:31:04)*joe阿牛與所有人說:?我掉線了麼?

(2006.03.30)(20:31:26)tianshannv與*joe阿牛說:我來接上嗎

(2006.03.30)(20:31:55)tianshannv與*joe阿牛說:爲什麼不爲什麼你當然知道

(2006.03.30)(20:32:39)tianshannv與*joe阿牛說:你看了之後啊我說跟你朋友說說也知道大概

(2006.03.30)(20:32:47)*joe阿牛與所有人說:??

(2006.03.30)(20:32:55)*joe阿牛 enter this room.

(2006.03.30)(20:32:55)sunshineormer enter this room.

(2006.03.30)(20:33:12)wugang與所有人說:no

(2006.03.30)(20:33:12)*joe阿牛與所有人說:哦 ,

(2006.03.30)(20:33:18)*joe阿牛與所有人說:sorry我掉線了!

(2006.03.30)(20:33:33)tianshannv與*joe阿牛說:怎嗎不知道了少來着一套

(2006.03.30)(20:33:37)sunshineormer與所有人說:sorry

(2006.03.30)(20:33:42)*joe阿牛與所有人說:so sorry

(2006.03.30)(20:33:52)sunshineormer與所有人說:sorry,我也掉線了

(2006.03.30)(20:34:13)sunshineormer與所有人說:to joe,我個人認爲:那個圖畫得不好

(2006.03.30)(20:34:21)*joe阿牛與所有人說:哦?

(2006.03.30)(20:34:37)*joe阿牛與所有人說:那應該是怎麼樣的?

(2006.03.30)(20:34:43)sunshineormer與所有人說:你可以看出來:begintrans 和commit都是由service發出的

(2006.03.30)(20:35:06)*joe阿牛與所有人說:這個可以用spring配置的

(2006.03.30)(20:35:26)*joe阿牛與所有人說:應用層是應該管transaction的

(2006.03.30)(20:35:30)*joe阿牛與所有人說:吧?

(2006.03.30)(20:35:38)*joe阿牛與所有人說:書中也有這樣說

(2006.03.30)(20:35:39)sunshineormer與所有人說:因此,service才應該更關心 addtouow

(2006.03.30)(20:36:21)*joe阿牛與所有人說:addToUnitOfWork

(2006.03.30)(20:36:35)*joe阿牛與所有人說:我覺得這是一個抽象,並不是實際實現,

(2006.03.30)(20:36:46)sunshineormer與所有人說:uow其實就是事務管理器。

(2006.03.30)(20:36:48)*joe阿牛與所有人說:實際實現就是repo.update()

(2006.03.30)(20:37:09)sunshineormer與所有人說:這個圖,ddd的作者是想告訴我們爲什麼要分那麼多的服務層

(2006.03.30)(20:37:57)*joe阿牛 enter this room.

(2006.03.30)(20:38:17)*joe阿牛與所有人說:那真正的實現應該是怎麼樣呢/

(2006.03.30)(20:38:58)*joe阿牛與所有人說:uow是singleton, transactionstatus是線程隔離的全局狀態,

(2006.03.30)(20:39:19)*joe阿牛與所有人說:這些都應當對Service和entity透明,

(2006.03.30)(20:39:41)*joe阿牛與所有人說:service只管聲明事務策略就好。 這是我的做法。

(2006.03.30)(20:40:16)*joe阿牛 enter this room.

(2006.03.30)(20:41:15)sunshineormer與所有人說:這樣吧,我寫郵件跟DDD的作者交流後,再討論這個話題吧。

(2006.03.30)(20:41:23)*joe阿牛與所有人說:ok,

(2006.03.30)(20:41:29)*joe阿牛與所有人說:不好意思,佔用大家很多時間

(2006.03.30)(20:41:39)*joe阿牛與所有人說:evan?

(2006.03.30)(20:41:59)sunshineormer與所有人說:謝謝你的心得,我也曾經在這部分徘徊了好久

(2006.03.30)(20:42:14)*joe阿牛與所有人說:是的,很期待解決這塊的疑惑!

(2006.03.30)(20:42:57)sunshineormer與所有人說:我簡單的說一下我對DDD這本書的理解(或者說感興趣的地方吧)

(2006.03.30)(20:43:07)*joe阿牛與所有人說:javaeye上大部分關於貧血充血的爭論都看過了。好的,:)

(2006.03.30)(20:44:27)sunshineormer與所有人說:?

(2006.03.30)(20:44:35)sunshineormer與所有人說:1 業務和技術的分層與理解 (1 真正的業務專家無人替代,後面的技術人員全職)

(2006.03.30)(20:44:57)*joe阿牛與所有人說:全職?

(2006.03.30)(20:45:05)sunshineormer與所有人說:現狀:關於模型和技術基礎設施的不匹配。

(2006.03.30)(20:45:09)marka enter this room.

(2006.03.30)(20:45:18)sunshineormer與所有人說:MDA,是將更多的時間拿出來瞭解和細化業務模型。

(2006.03.30)(20:45:27)sunshineormer與所有人說:2 對於模型的理解: 一個模塊或者一個應用需要檢驗,一個模型同樣需要檢驗

(2006.03.30)(20:45:40)sunshineormer與所有人說:3 對於context的理解。模型和團隊之間的關係。

(2006.03.30)(20:45:46)*joe阿牛與所有人說:恩。

(2006.03.30)(20:45:54)sunshineormer與所有人說:這個跟even的論點非常相似

(2006.03.30)(20:46:13)sunshineormer與所有人說:4 重構到模式

(2006.03.30)(20:46:27)sunshineormer與所有人說:本來想舉一個例子的。

(2006.03.30)(20:46:40)sunshineormer與所有人說:5 大規模應用,分層規劃。職責層的劃分。

(2006.03.30)(20:46:49)*joe阿牛與所有人說:sun, 說道例子,有沒有一個完整實現的例子?

(2006.03.30)(20:46:52)sunshineormer與所有人說:模型太大,我們不能一視同仁

(2006.03.30)(20:46:59)sunshineormer與所有人說:6 core domain 和 generic subdomain

(2006.03.30)(20:47:05)*joe阿牛與所有人說:嗯。

(2006.03.30)(20:47:14)sunshineormer與所有人說:要認真的區分才行。

(2006.03.30)(20:47:23)icecloud enter this room.

(2006.03.30)(20:47:54)icecloud_874 enter this room.

(2006.03.30)(20:48:17)sunshineormer與所有人說:希望大家閱讀愉快。

(2006.03.30)(20:48:36)sunshineormer與所有人說:本來是想舉例子的,結果今天的語音不能用

(2006.03.30)(20:48:37)*joe阿牛與所有人說:謝謝sun的辛苦工作

(2006.03.30)(20:48:47)stonejiang enter this room.

(2006.03.30)(20:49:12)sunshineormer與所有人說:感謝各位,還堅持聽我在此羅嗦。

(2006.03.30)(20:49:27)sunshineormer與所有人說:有一個think在2005中國軟件大會上的ppt

(2006.03.30)(20:49:31)*joe阿牛與所有人說:sun,有沒有象petstore那樣的範例?

(2006.03.30)(20:49:35)*joe阿牛與所有人說:哦?

(2006.03.30)(20:49:37)stonejiang_977 enter this room.

(2006.03.30)(20:49:52)sunshineormer與所有人說:我會跟他聯繫後,爭取共享出來

(2006.03.30)(20:50:21)sunshineormer與所有人說:To:joe 真正的應用,決不是petstore那麼簡單。

(2006.03.30)(20:50:36)*joe阿牛與所有人說:hehe當然不要那種ts的petstore

(2006.03.30)(20:50:41)*joe阿牛與所有人說:簡直誤人子弟

(2006.03.30)(20:50:41)sunshineormer與所有人說:我會把我們在項目上的一些實踐例子,共享出來的。

(2006.03.30)(20:50:55)*joe阿牛與所有人說:好, 太感謝了

(2006.03.30)(20:52:27)sunshineormer與所有人說:icecloud,應該是冰雲吧,說兩句如何?

(2006.03.30)(20:52:52)icecloud_874與所有人說:阿

(2006.03.30)(20:53:05)*joe阿牛與所有人說:對, 冰雲給講講:)

(2006.03.30)(20:53:17)evanyuan與所有人說:ft,icecloud是來874的,呵呵

(2006.03.30)(20:53:32)icecloud_874與所有人說:。。。。。來晚了沒聽到阿

(2006.03.30)(20:53:40)sunshineormer與所有人說:在論壇上經常看到你的帖子,說一下你的理解吧。

(2006.03.30)(20:53:49)*joe阿牛與所有人說:對說說

(2006.03.30)(20:54:05)icecloud_874與所有人說:。。。這個嗎,同學們,我沒接上話題呢

(2006.03.30)(20:54:34)sunshineormer與所有人說:是讀書會,大家隨便發言的。

(2006.03.30)(20:54:42)evanyuan與所有人說:DDD那本書蠻好的,對我影響蠻大,最直接的影響就是做開發越來越鬱悶了

(2006.03.30)(20:54:50)sunshineormer與所有人說:能分享一下你對DDD這本書的看法嗎?

(2006.03.30)(20:55:00)icecloud_874與所有人說:哎,我還沒讀過這書

(2006.03.30)(20:55:10)a ke su enter this room.

(2006.03.30)(20:55:18)sunshineormer與所有人說:to evan:你是鬱悶,我是彷徨。呵呵

(2006.03.30)(20:56:18)sunshineormer與所有人說:一方面:項目工期等壓力,要求你儘快出東西,管你什麼技術,什麼方法;一方面,自己感覺DDD是出路,

(2006.03.30)(20:56:24)icecloud_874與所有人說:我們目前開發主要是Test Driven,所以domain不是first class

(2006.03.30)(20:56:34)*joe阿牛與所有人說:那通俗一點,所謂貧血和充血,總有一說吧,

(2006.03.30)(20:56:52)sunshineormer與所有人說:因爲按照DDD的做法,要對人員技能有很高的要求。

(2006.03.30)(20:56:57)*joe阿牛與所有人說:嗯,

(2006.03.30)(20:57:27)sunshineormer與所有人說:而且,也對項目組的團隊模型和業務熟知程度有很高的要求。

(2006.03.30)(20:57:30)*joe阿牛與所有人說:sun, 模型的精化,是很考較能力的阿

(2006.03.30)(20:58:19)sunshineormer與所有人說:我在做一個CIF模型,很龐大,客戶很感興趣。

(2006.03.30)(20:58:43)sunshineormer與所有人說:我沒有拿領域模型跟他們交流,而是畫了一個對象圖。客戶說:對,這就是我們想要的。

(2006.03.30)(20:58:57)evanyuan與sunshineormer說:持續跟蹤與彙報

(2006.03.30)(20:58:57)*joe阿牛與所有人說:cif,

(2006.03.30)(20:59:02)*joe阿牛與所有人說:表示什麼?

(2006.03.30)(20:59:57)sunshineormer與所有人說:to 冰雲:難道你們公司不關心domain?

(2006.03.30)(21:00:12)icecloud_874與所有人說:關心阿

(2006.03.30)(21:00:44)icecloud_874與所有人說:但更關心的是質量和測試

(2006.03.30)(21:00:58)sunshineormer與所有人說:Test driven還是建立在業務的基礎上的吧。

(2006.03.30)(21:01:01)*joe阿牛與所有人說:聽起來,兩者有衝突

(2006.03.30)(21:01:24)sunshineormer與所有人說:我感覺沒有衝突,只不過是關心的角色不同,

(2006.03.30)(21:01:34)icecloud_874與所有人說:沒衝突,test本質上是需求

(2006.03.30)(21:02:09)icecloud_874與所有人說:我們用test保證需求,保證響應變化,

(2006.03.30)(21:02:24)icecloud_874與所有人說:這樣domain就不是最重要的了,domain也會經常變化啊

(2006.03.30)(21:02:46)sunshineormer與所有人說:你們做的是哪個行業或者領域產品?

(2006.03.30)(21:03:00)*joe阿牛與所有人說:domain driven,赫赫,是不是需求->domain-〉test->code

(2006.03.30)(21:03:30)icecloud_874與所有人說:我們啊。。做的諮詢

(2006.03.30)(21:03:33)sunshineormer與所有人說:domain driven和test driven 要結合起來用

(2006.03.30)(21:03:40)icecloud_874與所有人說:不是,需求->test->code

(2006.03.30)(21:03:57)icecloud_874與所有人說:domain有

(2006.03.30)(21:04:29)icecloud_874與所有人說:我感覺某些領域的domain很難搞,例如那些填form報表系統

(2006.03.30)(21:05:28)sunshineormer與所有人說:呵呵,domain也分好多種類,你說的那個太抽象了。

(2006.03.30)(21:05:47)icecloud_874與所有人說:哎 ( 我說過我沒看過這書嘛。。

(2006.03.30)(21:05:51)*joe阿牛與sunshineormer說:對不起, sun老大,我得回去了,否則沒車了,非常感謝你分享你的經驗!

(2006.03.30)(21:06:02)sunshineormer與所有人說:icecloud:就你的瞭解,現在國內真正能做起Testdriven的多嗎?

(2006.03.30)(21:06:37)icecloud_874與所有人說:不瞭解阿。。

(2006.03.30)(21:06:41)icecloud_874與所有人說:我估計不會有幾個

(2006.03.30)(21:07:10)sunshineormer與所有人說:我在我們的團隊中也推過,後來大家基本放棄了。因爲:如果使用transactionscript或者好點的tablemodule,實施TDD會很累

(2006.03.30)(21:07:19)icecloud_874與所有人說:我現在在ThoughtWorks,我公司經驗做這個經驗比較豐富

(2006.03.30)(21:07:29)*joe阿牛與所有人說:hehe , 冰雲,

(2006.03.30)(21:07:39)*joe阿牛與所有人說:那麼ts下如何做test?

(2006.03.30)(21:07:51)*joe阿牛與所有人說:會不會很累?

(2006.03.30)(21:07:59)sunshineormer與所有人說:to joe:感謝你的心得,一路平安。

(2006.03.30)(21:08:04)icecloud_874與所有人說:test分爲很多種的,最外層是一種functional test

(2006.03.30)(21:08:25)icecloud_874與所有人說:我們用selenium,相當於對系統的行爲作黑盒自動測試

(2006.03.30)(21:08:31)*joe阿牛與所有人說:大家晚安,

(2006.03.30)(21:08:59)icecloud_874與所有人說:這樣的話就不用管系統內部什麼實現了

(2006.03.30)(21:10:03)sunshineormer與所有人說:我想我們用自動化測試工具做的部分,好像跟你說的類似。

(2006.03.30)(21:10:16)icecloud_874與所有人說:恩

(2006.03.30)(21:10:29)sunshineormer與所有人說:我們使用的是qtp和loadrunner,MI的產品

(2006.03.30)(21:10:35)evanyuan與所有人說:sunshine,所以我說以後可以研究下敏捷開發和DDD怎麼結合

(2006.03.30)(21:10:54)icecloud_874與所有人說:不太一樣

(2006.03.30)(21:10:55)sunshineormer與所有人說:但是單元測試是我們的痛。。。。

(2006.03.30)(21:11:11)icecloud_874與所有人說:我們functional也是可以test driven或test first

(2006.03.30)(21:11:23)icecloud_874與所有人說:如果說用junit 作domain的unit test

(2006.03.30)(21:11:23)sunshineormer與所有人說:to evan:在研究着呢。呵呵

(2006.03.30)(21:11:41)icecloud_874與所有人說:如果能真正做到test driven,就不會覺得test難寫了

(2006.03.30)(21:11:51)icecloud_874與所有人說:no test no code

(2006.03.30)(21:12:07)evanyuan與所有人說:我之前進行業務對象建模,到後面就是花很長的時間在設計階段進行對象的靜態和動態模型建模,感覺已經很不敏捷了

(2006.03.30)(21:12:13)icecloud_874與所有人說:如果覺得難寫,一定是先提前想了code實現如何寫

(2006.03.30)(21:12:17)sunshineormer與所有人說:我想,不光是agile和DDD的關係,DDD和UP的關係,我也在跟蹤

(2006.03.30)(21:13:15)evanyuan與所有人說:我以前好象問過冰雲,他們的業務對象設計到什麼層度

(2006.03.30)(21:13:47)sunshineormer與所有人說:從內心來講,我是非常認同TDD的,但是,目前的項目(公司)情況,不允許我們一下子加入過多的內容。

(2006.03.30)(21:14:00)icecloud_874與所有人說:(

(2006.03.30)(21:14:36)sunshineormer與所有人說:要兼顧現有的人員和項目狀況啊

(2006.03.30)(21:14:43)icecloud_874與所有人說:老實說,tdd還是需要很高的技巧的

(2006.03.30)(21:14:59)evanyuan與所有人說:雖然說XP不強調設計,但是CRC,白板建模,TDD時考慮要實現的功能接口,都算是對對象進行設計了,只是不那麼正規而已

(2006.03.30)(21:15:14)icecloud_874與所有人說:如果沒有好的教練,確實不能很好的適合國內團隊

(2006.03.30)(21:15:17)evanyuan與所有人說:冰雲,儂咋看?

(2006.03.30)(21:15:38)icecloud_874與所有人說:XP不強調設計,但是非常強調需求分析

(2006.03.30)(21:15:57)sunshineormer與所有人說:我這兩天,在研究幾個mda產品(我們技術中心自己也有mda產品),發現,domain mode 被切分開了。

(2006.03.30)(21:16:08)evanyuan與所有人說:你的需求分析,會得出業務概念模型這麼個輸出麼?

(2006.03.30)(21:16:18)sunshineormer與所有人說:xp 的前提:客戶參與。

(2006.03.30)(21:16:33)evanyuan與所有人說:DDD的前提也是客戶參與吧,sunshine?

(2006.03.30)(21:16:41)sunshineormer與所有人說:evan,會得出來。這點沒有疑問。

(2006.03.30)(21:17:05)sunshineormer與所有人說:ddd屬於敏捷一系的。

(2006.03.30)(21:17:23)evanyuan與sunshineormer說:sorry,我問的是冰雲他的需求分析

(2006.03.30)(21:17:50)sunshineormer與所有人說:當然也要客戶參與。不過,我看見了更多的是沒有客戶參與的項目。是靠拍腦門出來的「需求」

(2006.03.30)(21:18:40)evanyuan與sunshineormer說:跟每個公司狀況有關係吧

(2006.03.30)(21:18:49)icecloud_874與所有人說:敏捷離不開客戶的,沒客戶瞎搞肯定不行

(2006.03.30)(21:19:13)icecloud_874與所有人說:需求分析可能會有些產出,但不會是model,而是客戶能看得懂的界面原型

(2006.03.30)(21:19:15)evanyuan與sunshineormer說:比如我之前的公司,我們給美國做offshore開發,美國那邊有開發人員獲取需求,但是他們的需求獲取能力實在有限

(2006.03.30)(21:19:55)evanyuan與sunshineormer說:本來中國這邊也有幾個優秀的需求分析人員,我都給上面建議把這幾個人送到美國去專門分析需求,反正也不知道上面怎麼想的,一直沒動作

(2006.03.30)(21:21:01)evanyuan與所有人說:所以,需要TW這麼強勢的公司給公司高層做工作才行。

(2006.03.30)(21:21:13)icecloud_874與所有人說:暈

(2006.03.30)(21:21:30)icecloud_874與所有人說:你讓老闆僱我們來吧,非常想去上海呢

(2006.03.30)(21:21:49)sunshineormer與所有人說:icec:有了需求分析後,客戶關注和能夠確認的是UI,dev和sa關注的是model

(2006.03.30)(21:22:16)evanyuan與所有人說:我的意思是說,給中國的企業開發強調on-site的重要,強調培養優秀需求分析人員的重要性

(2006.03.30)(21:22:34)evanyuan與所有人說:同時能讓他們意識到需求分析人員的價值

(2006.03.30)(21:22:37)sunshineormer與所有人說:我感覺xp也好agile也罷,精簡了的up也好,總體上差不了太多。

(2006.03.30)(21:23:51)sunshineormer與所有人說:evan,話題遠了些。呵呵

(2006.03.30)(21:24:10)evanyuan與icecloud_874說:我們老闆,現在正向CMMI高歌猛進呢,你們想來麼?

(2006.03.30)(21:24:26)evanyuan與sunshineormer說:sorry

(2006.03.30)(21:24:31)sunshineormer與所有人說:呵呵。

(2006.03.30)(21:25:27)sunshineormer與所有人說:時間差不多了。希望有機會跟大家在msn上聊。

(2006.03.30)(21:26:33)sunshineormer與所有人說:我們今天的讀書會,請evan做一個小的總結如何?

(2006.03.30)(21:27:55)evanyuan與sunshineormer說:老大,作爲主持,還是你來總結吧

(2006.03.30)(21:28:14)sunshineormer與所有人說:簡單說兩句吧。

(2006.03.30)(21:28:29)iambadboy enter this room.

(2006.03.30)(21:28:36)茉莉花 enter this room.

(2006.03.30)(21:29:04)iambadboy enter this room.

(2006.03.30)(21:30:25)evanyuan與sunshineormer說:把ddd看下來,DomainModel不是那麼簡單的,現在很多項目裏面可能還體現不了,但我想以後中國企業做大了,應用複雜了,DDD的價值會體現得更加強烈的

(2006.03.30)(21:32:13)sunshineormer與所有人說:謝謝evan

(2006.03.30)(21:33:15)sunshineormer與所有人說:要說DDD,其實,應該更多的是先把第一個D搞出來,如果這個D能夠體現軟件的存在價值,那麼這個東西就有搞頭。

(2006.03.30)(21:34:26)sunshineormer與所有人說:關於大型應用中,是否可以應用DDD,我們的答案是肯定的。而且,也在努力給出自己的答卷。

(2006.03.30)(21:36:10)*坐看桃花開 enter this room.

(2006.03.30)(21:36:12)煜 enter this room.

(2006.03.30)(21:36:43)sunshineormer與所有人說:如果大家在讀DDD和實踐DDD的過程中,遇到了困難或者困惑,請讓我們知道,我們會盡最大的能力幫助大家

(2006.03.30)(21:36:52)sunshineormer與所有人說:再次感謝大家光臨《DDD》的讀書交流會,特別感謝joe evan icecloud分享自己的心得。

(2006.03.30)(21:37:15)sunshineormer與所有人說:今天的讀書會,到此結束。祝大家晚安。