[TYPO3-50-general] Flow3 and DDD
Nino Martincevic
don at zampano.com
Fri Jan 16 08:23:08 CET 2009
Hi folks!
I was excited to finally see a project in the PHP community that tries
to include some (or most?) of the ideas of DDD.
First: I'm a very enthusiastic follower of this philosophy and never to
want to switch back again to "conventional" style anymore, like so many
who inhaled it. The main reason is that it forcefully leads to a pure
style of OOP programming, following the real true ideas of it, foremost
decoupling and encapsulation, not just of code but of mindsets.
Most concepts and documents to learn DDD you find came out of the Java
and .NET world, so for a PHP programmer (still) like me it wasn't that
easy to convert those ideas to PHP.
Btw: IMHO the most PHP applications and frameworks suffer from the
"object-relational-impedance-mismatch-mental-illness", just using tools
and frameworks without knowing how to build true complex OOP applications.
Perhaps it's not the right language for it? I don't want to believe it.
Because I think not the tools limit you but your knowledge and affort to
change your mind [yes, we can! ;-)]
Currently I have to large projects I've already started with. Much lines
are written and you won't see any dependency on DB, ORM or "framework"
(whatever that may be) in it. It's all about the domain.
But here the problems start and that's the main reason for writing this
long and boring mail: what the PHP community lacks to really develop
applications DDD-like are these three things:
Hibernate (and I mean real Hibernate, not the many (few?) AR-ORM out
there), DI/IoC containers, and, with some restrictions, such stuff like
Qi4j (I must admit i don't like AOP that much, for me it's merely a
technical way of solving problems. Why should the language alone not be
enough? But it's another discussion and perhaps I'll switch my mind
there too...)
So, finally, here are my questions: (Eurovision-like statement ;-)
- Is it possible to use Flow3 or the parts from it, especially the
mentioned parts I see missing yet in PHP, and more especially the
ORM/Hibernate part?
- Does Flow3 really follows "pure" DDD concepts, not polluting your
domain with infrastructural or technical stuff?
- Are the other important concepts of DDD like value objects, domain
services, bounded contexts etc. implemented or their usage intended?
Sorry for such a long post. But for me it's a very critical moment, if I
cannnot solve most or many of the problems I have with using the
language PHP I'm willing to switch, to Java. But I don't want, because
time is money and I don't believe in technical dictates from technologies.
Thaks (for your patience) and Cheers!
Nino
More information about the TYPO3-project-5_0-general
mailing list