DDD = Domain Driven Entwurf
TDD bedeutet, dass, bevor Sie eine Einheit des Verhaltens schreiben Sie einen Test für dieses Verhalten haben und nur dieses Verhalten. Erst nachdem diese Tests fehlgeschlagen sind, implementieren Sie das Verhalten. In jeder Inkarnation, die ich gesehen habe, war TDD auf der Ebene einer Methode oder Klasse - vielleicht ein paar Klassen zusammen arbeiten. Das Endergebnis ist, dass Sie hoch testbaren und daher sehr locker gekoppelten Code erhalten. Letztendlich geht es bei TDD darum, Code zu erstellen, der getestet werden kann.
DDD ist eine weit abstraktere Philosophie und eine Reihe von Entwurfsmustern, die sich mit dem Entwurf eines großen, skalierbaren und wartbaren Systems befassen. Letztendlich geht es bei DDD darum, ein Code-Ökosystem zu schaffen, das implizit oder explizit wichtige Teile des Domänenwissens erfasst.
Sie sehen also, sie schließen sich nicht gegenseitig aus. So ziemlich jeder, der sich mit DDD auskennt, ist auch ein TDD-Enthusiast.
Obwohl ich Ihnen meine Antwort gegeben habe, denke ich, dass Sie mehr Details darüber geben müssen, was Sie TDD glauben, denn anscheinend haben Sie es nicht von DDD ausgeschlossen. –
Für diejenigen, die nicht wissen, was diese Akronyme bedeuten, bitte identifizieren. Ich nehme an, TDD ist Test-Driven-Design, aber was ist DDD? Doofus-getriebenes Design? (Wenn ja, verwenden Sie einige Orte, an denen ich gearbeitet habe.) –
DDD steht für Domain Driven Design. Ich denke, das ist es, was er meinte. –