2010-04-06 72 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,只有手工制作的数据访问层。域实体交换消息。表示层获取特殊类型的对象。你会发现很多工厂。它们旨在简化单元测试和维护。我希望一些技巧可以引起你的兴趣。