天天看点

关于“禁用“操作的思考

1 能否和启用共享同一个URL

不行,因为权限可能不一样

2 能否在Domain共享同一个方法,通过入参true和false来区分

不行,因为背后的业务逻辑不一样,如果启用和禁用的业务逻辑是单纯的update some_table set enabled=true/false where id=?的话说明这个业务逻辑是偏简单的,和DDD专门解决复杂业务场景的用途不相符.如果业务是复杂的(启用和禁用不仅仅是一个update)那么就需要在领域方法内做if判断,这显然是重复的.

另外如果入参不一样的话就更加不能用一个方法了

3 禁用操作的HTTP请求是否应该是DELETE操作

应该说DELETE操作是比较少见的,因为2B的系统往往为了追溯过去,都是采用禁用(在业务层面进行逻辑删除),所以即使有技术层面的逻辑删除,也很少出现DELETE操作.原因有2:

a 禁用后还可以启用,那么启用使用Post操作么,如果使用Post的话那么创建时间如何确定呢?

b 从业务上来说,禁用后可查,甚至可以再操作(例如启用)

继续阅读