赞
踩
软件代码可以分成两个层次:领域层和技术层。
领域层:描述软件所满足的业务需求。核心业务逻辑在这一层抽象和表述
技术层:代码实现层面,是编程语言实际运行的载体,程序员每天工作的第一手材料。
领域层描述现实生活,是宏观视图,相对的,技术层就是微观视图。正如牛顿力学定律描述宏观物体的运动,而量子力学展现了微观世界的另一幅截然不同的画面,技术层和领域层许多时候应采用不同的思维模式。
面向对象视图在过去20年里的实践证明其适合大多数企业级应用的业务逻辑层开发,在领域层采用此思维方式是合适的。这个领域的经典方法论是领域驱动开发(DDD)。
技术层是否适合采用面向对象视图呢?我认为许多时候不合适。
经验丰富的程序员们,回想我们每天编写的代码,除了业务逻辑,剩下的就是一般人看不懂的技术元素:设备,文件,网络,通信,线程,界面控件,内存数据……等等。处理这些技术元素的代码,在许多业务简单的系统上,甚至占了代码的大部分。这些并不适合用对象来表述。
现在我们来返璞归真,凭自己的直觉来写代码——具体实现的编程语句。
语句是一行一行写的,声明,读取,计算,赋值,间或有分支,循环,中断,跳转。
思路顺着语句顺序向下流动,程序也是按照这个步骤一步一步,带着二进制数据向下传。这是一副小河潺潺流水,大河奔腾向前的图景。
如果我们的程序能像这片山河般井然有序,安定祥和,那该多好。哦,山河……,不好意思,我站在宏观世界的角度去描述微观世界了,应该将自己缩小到分子原子电子的尺寸下看世界。
原子世界的规则是多么简单,他们仅用屈指可数的几个元素,定律,便缔造出宏伟壮丽的世界。世界的本原到了这里,豁然开朗,原来规则如此简单,再也不会烧脑,掉头发了。那我们就用少数的几个元素——设备,文件,网络,线程等——来描绘一个新世界。像乐高积木一样,红橙蓝绿,方块圆柱,几种原材料,随意组合,无限种可能性,我们的生活就丰富多彩了。写情书,用货币到超市买东
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。