我有两个与Udi Dahan的文章有关的问题:Don’t Delete – Just Don’t
delete
功能(真正意义),说HR用户有一个表单添加员工,他插入错误的员工数据,他想删除这些数据,它是尚未在商业中使用,它与Retire or Fire an employee
完全不同。如何处理这两个案例的实施?DELETE
员工和另一个如果我们想要RETIRE
员工?如果企业想要这个功能,如果他们说出这个词,那么这意味着他们是普遍存在的语言的一部分。在这种情况下,您可以添加删除命令。但是,建议使意图更清楚;你可以将命令命名为deleteUserBecauseOfInvalidRegistration
左右。在这种情况下,delete命令是域模型的一部分;这意味着您可以根据其他属性轻松限制用户的删除;例如,如果用户已经由HR经理批准,则不能再删除用户。然后,如果不允许操作,则UI可以通过隐藏删除按钮来轻松地反映此行为。
另一种选择是,当业务专家听到IT人员使用“删除”一词而不是来自真实域时,您可能只在管理界面中公开此功能,作为从数据库中删除行的低级命令。然后,管理员界面只能由一些更高级别的人员访问,例如人力资源经理。