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