2014-03-01 110 views
0

在開發一個n層應用程序時,我似乎碰到了一個場景,其中一個服務說服務A需要使用服務B中的一個方法。我不想複製邏輯但似乎我不應該有任何服務相互呼叫。在不違反任何規則的情況下處理這種情況的最佳方式是什麼?我正在考慮將常用方法從服務B中取出並添加到另一個類中,並且這兩個服務都從此類繼承。服務層模式:跨越多個服務的業務邏輯

回答

1

依賴注入。

服務A期望一個定義良好的服務被注入到它中,並用接口表示。這樣服務B可以被注入以及執行相同合同的任何其他服務。

+0

我是否違反了上述想法? – user1790300

+0

DI非常好。另一方面,繼承可能會因爲引入高耦合而受到傷害。 –

+0

更有效的方法是什麼? – user1790300