2013-11-24 102 views
7

我們是一家Python商店,正在準備構建一個大型服務器應用程序。使用DDD與Python的大規模服務器應用程序?

爲了模擬邏輯有效,我們打算使用DDD,包括戰術模式,比如域事件,規格,資料庫等..

是洋蔥架構適用於蟒蛇? python中的抽象能力是否足夠?

從技術上講: 我已經做了一些研究,看到沒有流行的DI容器,實際上DI被認爲是Python中的一個壞習慣,考慮到DI是我如何用於實例化複雜對象的發現可疑應用層...

架構上來講, 有一個在多線程在Python(CPython的)支持沒有內置。 由python提供的協作式多線程模型對於單線程體系結構來說足夠了,並且具有擴展選項。還是它?

潛水前有更多挑戰和值得考慮的事情嗎?

底線是: 有沒有人有使用Python使用DDD實現大型企業應用程序的經驗? 或者我們應該堅持.NET/Java並保持安全?

在此先感謝, Erik。

回答

7

不確定,但它聽起來像你可能是來自java/.net店這個組織中的新僱員(「... 考慮到DI是如何用於實例化應用程序中的複雜對象層發現可疑 ...)。

記住

  • 您可以在幾乎任何編程語言做DDD與簡潔的設計。

  • 看一下Add Roll提供的這個視頻。基本上,要做的主要觀點是解決方案的可擴展性取決於體系結構和設計選擇,而不是編程語言或平臺。

  • 還可以考慮,Drop Box是用Python構建的,並且在他們考慮過任何C優化之前擴展到100萬用戶。

淨淨

從產品開發的角度看,你通常不希望使用「新」技術把任何關鍵路徑項目的風險。新的可能意味着新進入市場新的隊/組織。在這種情況下,根據您的文章的第一部分「我們是一家蟒店」,我至少會考慮您的內部團隊的專業知識並利用您現有團隊的核心競爭力。您的項目將具有低得多的風險狀況,並加快上市時間,同時重新培訓員工使用其他技術平臺。

+0

你幾乎釘上了它...... –

+0

關於你所提出的觀點: 1.我同意,因此我詢問是否有人有* python *的相關經驗,在未來知道可能出現什麼問題......當試圖利用DDD與python的問題。 2.「由架構決定」 - 沒有多線程限制可用架構......我再次問,如果有人以前做過它? 「設計選擇」 *無DI。 * python中的洋蔥架構? *將域/應用程序/技術服務分離到python模塊? 3.我同意,python絕對可以縮放.. 我們仍然處於原型開發階段,沒有在python/.net之間做出決定...)) –

+0

目前,員工由兩個服務器端開發人員組成:我和一個蟒蛇開發人員,所以再培訓是必要的......但我們是快速學習者;; –

相關問題