文件名称:领域驱动设计.pdf
文件大小:1.27MB
文件格式:PDF
更新时间:2011-08-29 04:04:14
领域 驱动 设计 软件工程
软件开发通常被应用到真实世界中已经存在的自动化流程,或者给真
实的业务问题提供解决方案,即要自动化的业务流程或者可以用软
件解决的现实问题。从一开始,我们就必需明白软件脱胎于领域,
并跟领域密切相关。
软件是由代码最终构成的。也许我们被代码所诱惑,在它上面花费
了太多的时间,将软件看作是简单的对象或者方法。
假设以汽车制造来类比。参与汽车制造的工人会专门负责汽车的某
个部件,但这样做的后果是工人们通常对整体的汽车制造流程缺乏
了解。他们可能将汽车视为一大堆需要固定在一起的零件的集合
体,但一辆汽车的意义远不只于此。一辆好车起源于一个好的创
意,开始于认真制定的规格说明,然后再交付给设计。经历若干道
设计工序,(历经岁月),用上几个月甚至几年的时间去设计、修
改、精化直至完美,直至它反映出最初的愿景。设计的过程也不全
然是在纸上进行的。许多的设计工作包括制模、在极端条件下对它
们进行测试,以验证它们是否能工作等。设计会根据测试的结果做
出修改。汽车最终被交付到生产线上,在那里,所有的部件已经就
绪,然后被组装到一起。
软件开发也是一样。我们不能直接坐下来敲代码。当然也可以这样
做,在开发价值不大的软件时。但我们不能用这种方法开发复杂的
软件。
为了创建一个好软件,你必须知道这个软件究竟是什么。在你充分
了解金融业务是什么之前,你是做不出一个好的银行业软件系统
的,你必须理解银行业的领域
。