示例案例:
我们正在使用 SQL Server 构建租赁服务。有关可以租用的物品的信息存储在一个表中。每个项目都有一个状态,可以是“可用”、“出租”或“损坏”。不同的状态驻留在查找表中。
项目状态表:
id 名称
1 '可用'
2 '租用'
3 '损坏'
除此之外,我们还有一条业务规则,该规则规定,无论何时归还物品,它的状态都会从“已出租”更改为“可用”。
这可以通过像“update Items set state=1 where id=@itemid”这样的更新语句来完成。在应用程序代码中,我们可能有一个映射到 ItemState id:s 的枚举。但是,这些包含硬编码的值,可能会导致以后出现维护问题。假设开发人员要更改状态集但忘记修复相关的业务逻辑层......
有什么好的方法或替代设计来处理这类设计问题?
除了直接答案外,还感谢相关文章的链接。