1

我正在使用SQL(MS SQL Server 2008 R2)中實現的大量邏輯重新處理應用程序。邏輯上,業務邏輯可以分成許多不同的組件。組織接口和私有代碼組件中的SQL

當前的實現是非結構化的:每個過程,函數,視圖訪問和寫入數據到處。我想用更小的單元來組織應用程序,就像我會用JavaEE應用程序那樣做:使用公共接口的小型JAR,但隱藏持久層和業務邏輯實現。

是否有任何默認的概念如何定義「prive接口表或存儲過程」旁邊的「公共接口表或存儲過程」。在第一步中,使用命名約定可能就足夠了。但如果有更好的方法,請讓我知道。由於我們僅限於使用MS SQL Server:您如何看待在每個模塊的相同數據庫中定義單獨方案的概念?

回答

0

除了數據庫表和過程的訪問控制以外,沒有什麼真正的等價物,這與面向對象系統組織可見性的方式不同。

最好的情況是將sprocs中的邏輯移入應用程序層,並處理那裏的混亂。如果這不可能發生,我會考慮重構你的函數,以便它們只執行單個操作(邏輯上)。如有必要,您可以將類似的sprocs分組到一個單獨的sprocs中,並讓應用程序層僅通過這些函數進行操作。

+0

我同意持久層不應包含任何邏輯。在我們的特例中,DB不僅僅是對持久性負責,而且在未來也會包含邏輯。這是我無法改變的。 – tomkani 2012-07-25 10:32:44