2010-04-06 73 views
13

這個問題是我在此之前的問題的延續 zend models architecture(非常感謝Bill Karwin)。 我做了一些閱讀包括本文Zend的領域驅動設計

這個問題

現在我才明白,驅動設計是什麼域。但是例子仍然非常簡單而且很差。 它們基於一個表格和一個模型。現在,我的問題是:他們在真實世界的PHP項目中使用領域模型設計嗎?

我一直在尋找一些關於此的良好文檔,但我還沒有找到足夠好的東西,解釋瞭如何管理多個表並將它們傳輸到域對象。只要我知道,有Hibernate庫,它具有Java中的這個特性,但是我應該在PHP(Zend Framework)中使用什麼?

+0

在現實世界中,DDD肯定與PHP一起使用。我目前正在使用它的中型項目的尾端。我同意在那裏缺乏示例,通常我建議查看一些java和c#代碼(作爲一個PHP開發人員,您將能夠理解)。一般而言,您會發現幾個DDD應用程序示例 - 其原因很明顯,在DDD中,該模型是特定於上下文的,DDD中的示例應用程序編寫起來很耗時,並且很少重用代碼。 – thelastshadow 2014-02-21 13:57:58

回答

17

有一個newsgroup formed by Matthias Verraes about doing DDD in PHP, mainly with Sf2.

有些舊的是一系列關於如何使用PHP做DDD,並與ZF部分,可能是你的興趣由費德里科Cargnelutti文章:

關於採埃孚,已有一段時間Zend_Entity and Zend_DataMapper的提案,但在這些發展上已有terminated in favor of integrating ZF with DoctrineDoctrine也是PHP中最接近Hibernate的東西。

googling for DDD with PHP時,將會有一些額外的資源,但沒有像在Eric Evan's DDD book中描述的official DDD sitecode for the App處可用的資源那樣全面。

+0

謝謝,我同意教義是正確的路! – mik 2010-04-06 08:35:13

+0

僅供將來參考,似乎這種開發方法在PHP社區中越來越受歡迎。Mathias Verraes(如果您對PHP中的DDD感興趣,您應該關注他)開始了一個[DDD PHP郵件組](https://groups.google.com/forum/#!forum/dddinphp)。還有一些symfony人發表了一些(小)DDD應用的例子,參見[1](https://github.com/igorw/doucheswag)和[2](https://github.com/MarcelloDuarte/hexagonal- symfony中) – mTorres 2014-05-28 12:33:27

2

看看我在GitHub上的項目。它試圖遵循DDD,SOLID和OOP的原則。 PHP and DDD。內部沒有ORM,只有手工製作的數據訪問層。域實體交換消息。表示層獲取特殊類型的對象。你會發現很多工廠。它們旨在簡化單元測試和維護。我希望一些技巧可以引起你的興趣。