初识领域驱动设计

    以前做系统设计,很自然会往OOAD方面去靠,但总是感觉有些异样:设计的东西到了开发时总是有那么一点半点的东西需要勉强妥协成不那么OO的。

    最近几天,看了一些关于领域驱动设计(DDD)的资料,才知道,原来我所遇上的问题,就是DDD能够帮我解决的问题。

    OOAD是太自由了,设计者可以十分自由地设计出各种各样的类和它们的各种继承、聚合等关系,设计得好不好,完全在于设计者的经验和灵感,甚至是运气。OOAD只是在对象这个层面上提供一定的设计约束。如果没有一些在全局上的、清晰的约束,OOAD可能就象用一堆对象拼凑成一个系统,毫无章法可言。

    今日终于有点开窍了,领域驱动设计除了它在需求分析和设计方法方面的好处外,最大的好处就是给OOAD提供了全局性的设计约束,这些包括分层(UI层、应用层、领域层、基础设施层),也包括领域层中工厂、规约、仓储、服务等。

猜你喜欢

转载自killko.iteye.com/blog/1815003