BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

2012领域驱动设计交流会(DDDx)——突破面向对象设计(OOD)范型

| 作者 Amiruddin Nagri 关注 0 他的粉丝 ,译者 高翌翔 关注 0 他的粉丝 发布于 2012年7月4日. 估计阅读时间: 4 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

今年的领域驱动设计交流会(DDDx)Eric Evans发表主题演讲而拉开序幕,他演讲的重点是范型转变(paradigm shift),从早期领域驱动设计(Domain Driven Design)被视为面向对象设计(Object Oriented Design)的一部分,到如今领域驱动设计自成一家。Eric将这种转变归功于当前编程语言的发展趋势,即除面向对象语言以外,还加入函数式语言:

在编写领域驱动设计之时,面向对象编程是占有统治地位的范型。当我成为程序员时,面向对象编程的确是令人兴奋的新事物,而后成为了占有统治地位的范型。正因如此,这两种事物在人们心中总有那么几分纠结,尽管领域驱动设计思想与面向对象设计思想在大多数人心中几乎是密不可分的,然而我却不以为然。而且现在我们开始发现对于其他事物的一些真正兴趣,并且承认这一点很重要。因此,今天的几个演讲涉及到领域驱动设计,而非特别地面向对象设置。

Greg Young所发表的首个演讲就与这种转变有关,其中他谈到如何同时使用函数式编程和领域驱动设计Ian Johnson提出了关于此话题的个人总结,以便更好地说明将此方法发挥得淋漓尽致有大可能:

在函数式领域驱动设计(functional DDD)方面,仍有些事物我无法认同:
  • 内聚(Cohesion):对象模型给我们带来的是函数的强内聚性,即便我们正在处理不可变的领域对象,随后所有的状态变更方法都被束缚在该对象内,并且可以隐藏在该对象内部,同外部世界隔离开来……
  • 我们所处理的模型在哪里?通用语言(ubiquitous language)在哪里?我所见到的是,我们仍将动词(verbs)建模为方法、及事件形式,但是为了适应这种方法,名词(nouns)又该放在哪里?我们目前是否丢掉了名词?

Rinat Abdullin推荐以下演讲:

你可以在线阅览所有演讲。

关于此事件的Twitter反馈包括:

ijrussell:到家了,在 @skillsmatter 度过了美妙的一天,我认为那是迄今为止最好的一届领域驱动设计交流会 #dddx 。 :-)
jnthnwrthngtn:今年的领域驱动设计交流会 #DDDX 超赞,@carlmasak 和我已经为明年报了名!感谢 @Edument 发给我们那些很棒的资料!:)

为期一天的交流会正步入它的第5个年头,并且是由SkillsMatter在他们位于伦敦的办公室中组织的。明年的领域驱动设计交流会(DDDx)安排在2013年06月14日的同一场地举办。

 

查看英文原文:Domain Driven Design Exchange (DDDx) 2012 - Breaking Away from Object Oriented Design(OOD) paradigm

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT