设计模式:阻止用户删除某些配置

本文关键字:配置 删除 用户 设计模式 | 更新日期: 2023-09-27 17:57:16

我的应用程序具有配置选项,用于存储应用程序首选项和它正在与之通信的其他节点的一些网络配置。该应用程序具有计划逻辑,以使用任何网络配置来执行计划作业。如果用于计划作业的任何配置,则应用程序不应允许将其删除。

我正在使用数据库表来存储配置。添加一个布尔值来提及它是否正在使用可以帮助我解决问题,但是实现它的正确方法是什么?

设计模式:阻止用户删除某些配置

在您的解决方案中看不到任何错误。将 smple booleanbit值保留为指示该字段是否被使用是完全可以接受的。此外,它可以在不同的数据库之间很好地扩展(在您决定更改数据库的那一刻)。

因为如果您引入某些依赖于数据库的安全策略,对于权限检查,您将与数据库强耦合。

SQL Server Engine 可以自行处理数据完整性。您只需要设置密钥并删除/更新规则。

  • http://msdn.microsoft.com/en-us/library/ms190765(v=sql.105).aspx - 有关数据完整性的一般信息
  • http://msdn.microsoft.com/en-us/library/ms177463(v=sql.105).aspx - 如何创建外键约束

这样,您将必须捕获约束冲突异常(ConstraintException),并通过通知用户来处理它。

铌。正如@Tigran所说,您的解决方案也没有错。