小编Mik*_*ika的帖子

在处理查找表和相关业务逻辑时去掉硬编码值

示例案例:

我们正在使用SQL Server构建租赁服务.有关可以租借的项目的信息存储在表格中.每个项目的状态可以是"可用","已租用"或"已损坏".不同的状态驻留在查找表中.

ItemState表:

ID名称
1"有空"
2"租用"
3"断"

除此之外,我们还有一个业务规则,规定每当返回一个项目时,它的状态将从"已租用"更改为"可用".
这可以通过更新语句来完成,例如"update Items set state = 1 where id = @ itemid".在应用程序代码中,我们可能有一个映射到ItemState id:s的枚举.但是,这些包含可能导致以后出现维护问题的硬编码值.假如开发人员要更改状态集但忘记修复相关的业务逻辑层...

有哪些好的方法或替代设计可以解决这类设计问题?
除了直接答案之外,还了解相关文章的链接.

sql sql-server database-design business-logic

5
推荐指数
2
解决办法
1995
查看次数

标签 统计

business-logic ×1

database-design ×1

sql ×1

sql-server ×1