Service层如何精确提炼功能去面对不断变化的需求?

一个简单的例子:修改订单这个需求开始。

订单(Order)不具备EditOrder()的行为。一般的做法是放在服务层,例如OrderService或者OrderManager吧。根据用例驱动出不纯化的对外接口,然而,这些解接口里面的动能(方法)如何精准提炼出来? 如例子上的EditOrder是一个单纯的功能,返回什么?参数列表是什么?这些是如何确定的?

当然返回的参数其实不难确定,但一个参数列表,十分纠结,是弱类型吗?强类型吗?当我写成EditOrder(DateTime date)、EditOrder(string num,int price)等等这里功能,我就莫名烦恼,需求总是变化,极限化问题,这个service会变得异常臃肿,很多重复的东西,不得不写一次,即使是复制粘贴也显得苍白无力,那些Extract Method的私有方法,就更显得莫名其妙了。直接用一个Domain的参数列表,有觉得不太准确,究竟是我设计问题,还是有更好的办法解决?坐等各位高见。


红颜莎娜
浏览 404回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP