在我们讨论问题的过程中,特别是对于问题又争执的时候,
我们绝大多数人都会忽视掉一个问题,我们大家对于所谈论的“实体”的理解是不是一致的。
哲学概念中,一个客观存在的物体,我们称之为 “实体”。
而我们讨论实体时,其实我们内心是默认了一下三个前提:
1、这个客观的实体是存在的。
2、这个实体是有规律的,并且可以被我们认识。
3、我们不但可以认识这个实体,我们还可以接着语言准确的描述他。
如果脱离了这三个前提,那么我们对于一个问题的争执,可能就没有意义了,因为我们第一要确认的是我们对于所谈论问题的本身的理解是一致的。
比如我们要认识 软件 这个概念,那么我们就需要对软件这个概念进行定义,
什么是软件,自然在我们对软件概念进行定义的同时,软件的边界就出来了。 什么是软件,什么不是软件,我们根据软件的定义就可以进行区分了。
所以我们在进行程序设计的时候,我们需要确认的第一个问题,就是 这个软件模块的定义是什么。
这个软件模块能实现什么,不能实现什么,他跟其他概念的区别在哪里,他和外界联系方式在哪里。
只有定义清楚了这个概念本身,我们才能清晰明了的进行软件设计。
所以,做软件设计的第一条,就是搞清楚,这个软件的定义是什么,他的边界在哪里。
对应于软件方面。
这个软件通过什么与外部世界进行联系(软件的接口)
这个软件能实现什么(软件的功能)
只有定义清楚了软件的接口和功能,我们才能更清晰的从外部了解这个软件。