为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

红颜莎娜 2018-09-12 05:06:35
一个简单的例子:修改订单这个需求开始。订单(Order)不具备EditOrder()的行为。一般的做法是放在服务层,例如OrderService或者OrderManager吧。根据用例驱动出不纯化的对外接口,然而,这些解接口里面的动能(方法)如何精准提炼出来? 如例子上的EditOrder是一个单纯的功能,返回什么?参数列表是什么?这些是如何确定的?当然返回的参数其实不难确定,但一个参数列表,十分纠结,是弱类型吗?强类型吗?当我写成EditOrder(DateTime date)、EditOrder(string num,int price)等等这里功能,我就莫名烦恼,需求总是变化,极限化问题,这个service会变得异常臃肿,很多重复的东西,不得不写一次,即使是复制粘贴也显得苍白无力,那些Extract Method的私有方法,就更显得莫名其妙了。直接用一个Domain的参数列表,有觉得不太准确,究竟是我设计问题,还是有更好的办法解决?坐等各位高见。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 403 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信