design - when should one actually go for DDD and when it is considered an overkill? -
i need practical examples/comparatives when can/should use ddd , when can't/shouldn't use ddd?
like many other "good" programming practicies ddd cares of achieveing of maximum gain allowing deal difficulties. knowledge , experience.
ddd (as 1 uses principles , patterns benefits) can applied when:
- it's necessary support large , complex domain model, containing difficult business rules , lots of classes.
- developers have enough skills in both oop , ddd. every person working on project have understand importance of model, domain knowledge , domain language. whole team should "move to" deeper understanding of domain , correctly implement knowledge.
- developers have enough tecnical skills opportunity concentrate on how model implemented.
- project considered long-lived.
- project owner (or manager) should understand additional costs incorporating of ddd , benefits.
- project uses oo main developing paradigm.
ddd not usefull or cannot applied opposite cases.
in additon ddd may not usefull
- small , low quality level projects (like prototypes).
- significant "part" of ddd describes patterns , principles applicable whole system "inside". thus, doesn't relate distributed systems stack (i doen't mean patterns context map , context bound, composes "part" distributed systems). , hence high-distributed systems, containing of "simple unit apps", application of "part" of ddd doesn't make sense (due apps simplicity).
note ddd principles can applied project. example, anticorruption level fits integration external or legacy systems.
Comments
Post a Comment