问题域的讨论

目录:

  1. [什么是问题域][1]
  2. [为什么要讨论问题域][2]
  3. [问题域会给思考方式带来怎么样的指导意义][3]
  4. [怎么应用问题域这一指导思想][4]

1.什么是问题域

问题域是达成某件目标、解决某个事情 遇到的问题、麻烦 的总和。亦或是你做某件事情要考虑的所有问题。例如,对于 “我们要环球旅行” 这一目标而言,它的问题域就有如下:

  1. 什么时候出发
  2. 去哪些国家
  3. 护照怎么办理
  4. 预算是多少
  5. 当地的旅游景点有哪些
  6. 当前安全情况如何
  7. 旅行线路是什么样的
  8. 每个国家要待多少天
  9. 如果旅途中出现各种状况要怎么处理
  10. 走陆路还是海路

.............................

诸如这些问题组成了 “我们要环球旅行” 这一目标的问题域。

同样,对于计算机领域或者编程领域来说,在阅读优秀框架源码或者自己写一个框架的时候,一定要明白,优秀框架解决了哪些问题;自己写一个框架的时候也要明白要解决哪些问题和考虑哪些问题

例如,要写一个连接池要考虑哪些问题呢?

  1. 怎么管理连接对象
  2. 连接对象创建和销毁的条件分别是什么;即什么时候要创建一个新的对象,什么时候要重用现有的对象
  3. 怎么判断当前对象是可以使用/空闲 的呢。
  4. 考虑内存泄漏的问题
  5. 怎么判断池中对象是可用的呢
  6. 连接池底层采用的数据结构;不同的数据结构是否会影响连接池的性能

在阅读优秀框架源码 或者 自己写框架的时候 ,首先要像上面那样找出问题域是什么。这个过程可以使用思维导图来进行梳理。

2.为什么要讨论问题域

在阅读第三方框架源码,或者自己写框架的时候,一定要知道出发点是啥,要明白代码为什么这样写。问题域这一思考方式可以作为一个看清事情的一个方法论。有了这样的一个方法论,就会明白做事情的方向,就会有一个指导思想。

3.问题域会给思考方式带来怎么样的指导意义

问题域这一指导思想带来的思维变革是巨大的,它会让你的思考更加系统,有条理,考虑事情更加全面,做事情更加有章法,不会像一个无头苍蝇一样乱飞。梳理了问题域之后,找到相应的办法,然后逐个击破。

4.怎么应用问题域这一指导思想

纸上得来终觉浅,还要把这一思想逐步应用到实践中。当你做一件事、阅读第三方源码、自己写一个框架时,可以首先去思考问题域是什么,然后带着问题域去看;当你写一个框架的时候,要明白问题域是什么,然后找出解决办法,逐个击破。

results matching ""

    No results matching ""