我正在使用SQL(MS SQL Server 2008 R2)中实现的大量逻辑重新编写应用程序。逻辑上,业务逻辑可以分成许多不同的组件。
当前的实现非常非结构化:每个过程,函数,视图都可以访问和写入数据。我想用较小的单元组织应用程序,就像我使用JavaEE应用程序一样:带有公共接口的小型JAR,但隐藏了持久层和业务逻辑实现。
是否有任何默认概念如何在“prive接口表或存储过程”旁边定义“公共接口表或存储过程”。在第一步中,使用命名约定可能就足够了。但如果有更好的方法,请告诉我。
[编辑]因为我们仅限于使用MS SQL Server:您如何看待在每个模块的同一个DB中定义单独方案的概念?
答案 0 :(得分:0)
除了数据库表和过程的访问控制之外,没有真正的等价物,这与OO系统组织可见性的方式不同。
最好的情况是将尽可能多的逻辑从sprocs移动到应用程序层并处理那里的混乱。如果不太可能发生这种情况,我会考虑重构您的函数,以便它们只执行单个操作(逻辑上)。如有必要,您可以将类似的sprocs分组到一个sprocs中,并让应用程序层仅通过这些函数运行。