一個由洋蔥架構所提供的主要優點是換出「基礎設施」的元素,如「數據訪問,I/O和網絡服務」(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/)的能力。基礎的流動性 - 實際影響
傑夫說,在他的崗位從2008年說,「行業已經修改的數據訪問技術每三年至少」。
有沒有人有一個相當大的項目的例子,其中使用洋蔥結構和換出關鍵的基礎設施要素隨後被承擔?
我有興趣瞭解:
- 如何常見的是這種情況下,有什麼看法?
我的直覺告訴我,雖然「數據訪問技術」可能會每三年修改一次,但運行解決方案的實際基礎架構的變化(可以實現此益處)可能會少得多?
- 條件是該解決方案最初運行的條件是什麼?
- 是什麼導致了底層基礎設施的變化?
- 是否有教訓關於這種方式改變基礎設施的實際影響,這可以使我們能夠改進洋蔥架構的原實現學到什麼?
我很想知道除了更換基礎設施組件和實現相同的接口之外是否還有意外的更改。例如,新基礎設施是否需要將新參數傳遞給先前定義的方法,例如SaveOrder(int ID) - > SaveOrder(int ID,bool AllowSiblings,bool SiblingCreated)從關係移動到NoSQL DB模型時。
與傳統的耦合方法相比,實施此架構+返工遷移到新基礎架構是否顯着降低了所需的總體工作量?
開發者是否發現耦合的,硬引用的代碼比鬆散耦合的,間接引用的代碼更易於編寫和調試,但基礎架構更改的最終收益是否值得呢?
您能舉一個例子說明您換出第三方服務的位置嗎?所以我提出的類似問題也適用於這種情況? – 2015-02-11 01:00:45
@BenMcEvoy我已經編輯了我的答案的例子和一些更多的細節 – MaxSC 2015-02-13 09:05:45