一個(gè)簡(jiǎn)單的例子:修改訂單這個(gè)需求開始。訂單(Order)不具備EditOrder()的行為。一般的做法是放在服務(wù)層,例如OrderService或者OrderManager吧。根據(jù)用例驅(qū)動(dòng)出不純化的對(duì)外接口,然而,這些解接口里面的動(dòng)能(方法)如何精準(zhǔn)提煉出來? 如例子上的EditOrder是一個(gè)單純的功能,返回什么?參數(shù)列表是什么?這些是如何確定的?當(dāng)然返回的參數(shù)其實(shí)不難確定,但一個(gè)參數(shù)列表,十分糾結(jié),是弱類型嗎?強(qiáng)類型嗎?當(dāng)我寫成EditOrder(DateTime date)、???EditOrder(string num,int price)等等這里功能,我就莫名煩惱,需求總是變化,極限化問題,這個(gè)service會(huì)變得異常臃腫,很多重復(fù)的東西,不得不寫一次,即使是復(fù)制粘貼也顯得蒼白無力,那些Extract Method的私有方法,就更顯得莫名其妙了。直接用一個(gè)Domain的參數(shù)列表,有覺得不太準(zhǔn)確,究竟是我設(shè)計(jì)問題,還是有更好的辦法解決?坐等各位高見。
- 1 回答
- 0 關(guān)注
- 424 瀏覽
添加回答
舉報(bào)
0/150
提交
取消