文档章节

领域驱动设计学习的一些总结(阅读dddquickly有感)

yhchinabest
 yhchinabest
发布于 2016/08/07 14:57
字数 653
阅读 46
收藏 0

一 为什么要有领域驱动设计?

首先,计算机技术的作用(特别是软件技术)是为了解决现实世界某一个领域的问题,脱离了这些问题,单纯的算法,编程语言,或者操作系统都并没有实际的意义。但是开发人员往往只喜欢研究技术问题,而忽视了领域问题的学习。例如下面一个例子:

“我要在这个项目中使用苹果公司新推出的Swift语言,在服务器端使用Hadoop,最好再尝试一下深度 学习方面的技术”,然后就一头扎进这些时髦和高大上的技术之中。三个月后,你去问他需要解决的领域中的真实问题是什么,他还是一脸茫然。”

这样的开发人员就是兴趣驱动型的开发人员。只追求技术,而忽视领域问题的软件,质量自然也是无法保证。

  一个有力的观点指出了这一点:布鲁克斯老先生将维护软件的“概念完整性”作为软件开发的核心问题。软件之所以很复杂,难以维护,根本原因就在于软件概念的完整性遭到了破坏。甚至开发团队的成员从来就没有意识到有必要去维护软件概念的完整性,他们只是一些自行其是的开发人员,碰巧在于一个团队中一起堆代码而已。

   当然,在实际的开发过程中,经常有软件概念完整性遭到破坏的情况发生,一部分原因是开发人员喜欢追求高大上的技术,产品功能对他们来说只是甲方提的需求,他只用考虑技术上能否实现。另一方面是产品设计人员缺乏相关的素质,他们只能进行表面功能的设计,而无法看到软件需要解决的核心问题。最终造成功能设计和开发出来的功能完全脱离了实际要解决的问题,功能无法满足用户需求,也代码越来越难以维护,最终导致软件开发的失败。

   所以,必须要有领域驱动设计,通过分析问题模型,提炼出良好的领域模型,最大程度的维护软件概念的完整性,才是保证软件开发能够成功的关键。

© 著作权归作者所有

共有 人打赏支持
yhchinabest
粉丝 3
博文 44
码字总数 11712
作品 0
武汉
高级程序员
私信 提问
领域驱动设计与设计模式

作为程序员,你最喜欢在怎样的代码环境中编码?我们大部分时间是在维护代码或者在已有代码中添加需求,你是否吐槽过别人的代码有毒?我们希望别人的代码可读性好,易维护,添加新功能时,它有...

Jun_Wong
2017/12/23
0
0
[.NET领域驱动设计实战系列]专题十一:.NET 领域驱动设计实战系列总结

原文:[.NET领域驱动设计实战系列]专题十一:.NET 领域驱动设计实战系列总结 一、引用   其实在去年本人已经看过很多关于领域驱动设计的书籍了,包括Microsoft .NET企业级应用框架设计、领域...

杰克.陈
2017/12/05
0
0
2014年全球网站设计的15个趋势

1、超长网页设计 以往的长网页会挤满内容,我们习惯于下滑滚动网页来获取信息,但并非是挤满内容枯燥的长网页,而是由更多的留白空间以及快速响应技术合并而成的超长网页设计。这样的设计能使...

fjxichao
2015/01/15
0
0
秋读|10本热门图书(人工智能、编程开发、架构、区块链等)免费送!

古人说:“秋读书,玉露凉,钻科研,学文章。" 时下,秋意渐浓,网易云社区联合博文视点为大家送来一大波技术图书,涉及人工智能、编程开发、架构、软件工程、区块链技术五大版块。 知乎活动...

网易云
10/15
0
0
如何快速、准确地阅读技术书籍?

摘要 这篇文章从如何阅读书籍出发,简单讨论了如何选择书籍、是否阅读原版和阅读数量这几个常见问题,然后自己的阅读问题进行了分析和总结。 注意 “如何阅读”指“What to read”而非“How...

modernizr
2014/06/26
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

telegram_bot

new group -> 选择人 -> 填写群名 搜索BotFather -> start =========================== ou can control me by sending these commands: /newbot - create a new bot /mybots - edit your bo......

八戒八戒八戒
7分钟前
0
0
Spring boot中使用Jackson ObjectMapper注入

问题 本身spring boot已经集成了Jackson的库,我想自己在Controller中直接使用Spring默认的ObjectMapper,应该怎么做? RestController.java public class RestController { private fi...

亚林瓜子
12分钟前
0
0
老男孩 - python函数编程day2

mark

以谁为师
27分钟前
1
0
【58沈剑 架构师之路】缓存,究竟是淘汰,还是修改?

允许cache miss的场景,不管是memcache还是redis,当被缓存的内容变化时,是修改缓存,还是淘汰缓存?这是今天将要讨论的话题。 问:KV缓存都缓存了一些什么数据? 答: (1)朴素类型的数据...

张锦飞
29分钟前
1
0
Spring异常之Druid – unregister mbean error set JAVA_OPTS="-Ddruid.registerToSysProperty=true"

Spring异常之Druid – unregister mbean error 2017年04月19日 12:13:42 Dr.Zhu 阅读数:6688 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zt_fucker/arti...

linjin200
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部