例程实作
----庖丁解羊(上)
作者:HolyFire
在《庖丁解羊----划分》我们曾经将一只可爱的小羊拆成了零件,不知道是否还能否记得那道全羊谱。呵呵,说得口水都要流下来了。这里呢,没有美味可口的羊肉,只有我在给各位讲如何将我们学习的方法应用到编程中来。
首先呢我们要把结构看清楚,也就是下面我东拼西凑起来的图形,你们都看到了,我的ASCII艺术还差的远呢,呵呵,不过还能看明白。
山羊
┏━━━━━━━━━━━┳━━━┻━━━━━━━━━┳━━━━━━┓
脑袋 躯体 尾部 四肢
┏━━╋━━┳━━┓ ┏━┳━╋━┳━━┳━━┓ ┏━━╋━━┓ ┏━┻━┓
骨架 胡子 五官 绒毛 胸 腹 背 内脏绒毛 骨架 尾巴 绒毛 骨架 前肢 后肢
┏━━┳┻━┳━━┓ ┏━┳━┳┻┳━┳━┳━┓ ┏━━╋━━┳┛
耳朵 眼睛 鼻子 嘴巴 心 脾 肝 肺 胃 肠 肾 脚 绒毛 骨架
结构图
这样一来,我们心里面就不是一块一块零碎的羊杂烩了,而是一部分一部分串在一起的整体。我们从底部开始向上观察,你会发现这是一个重组的过程。反之是一个分解过程。
而我们又将一些最小的单元归结为{轮廓,颜色},这是外表上能感知到的信息。
通过这些信息,我们发现自底向上解决这个问题好一些,人们总是乐意从简单容易的地方入手,这也是我一开始要做划分的原因。
胡子{轮廓 , 颜色} 绒毛{轮廓 , 颜色} 骨架{轮廓 , 颜色}
胸 {轮廓 ,颜色} 腹 {轮廓 , 颜色} 背 {轮廓 , 颜色}
眼睛{轮廓 , 颜色} 鼻子{轮廓 , 颜色} 嘴巴{轮廓 , 颜色}
心 {轮廓 ,颜色} 脾 {轮廓 , 颜色} 肝 {轮廓 , 颜色}
肠 {轮廓 ,颜色} 肾 {轮廓 , 颜色} 脚 {轮廓 , 颜色}
尾巴{轮廓 , 颜色} 耳朵{轮廓 , 颜色} 肺 {轮廓 , 颜色}
胃 {轮廓 ,颜色}
可以看出这些单位的组成都是一样的,我们可以将它统称为羊的部分。
部分{轮廓,颜色}
绒毛,骨架,胸,腹,背,眼睛,鼻子,胡子,嘴巴,心,脾,肝,肠,肾,脚,尾巴,耳朵,肺,胃{{部分}}
前肢{脚,绒毛,骨架}
后肢{脚,绒毛,骨架}
前肢与后肢也有着一样的结构哦
肢体{脚,绒毛,骨架}
前肢,后肢{肢体}
四肢{前肢,后肢}
内脏{心,脾,肝,肺,胃,肠,肾}
五官{耳朵,眼睛,鼻子,嘴巴}
尾部{尾巴,绒毛,骨架}
躯体{胸,腹,背,内脏,绒毛,骨架}
脑袋{五官,胡子,绒毛,骨架}
山羊{脑袋,躯体,四肢,尾部}
其实,这些有各个部分组合起来的整体,如:前肢,后肢,躯体等等也是羊的一部分。
肢体{{部分},脚,绒毛,骨架 }
前肢,后肢{肢体}
四肢{{部分},前肢,后肢}
内脏{{部分},心,脾,肝,肺,胃,肠,肾}
五官{{部分},耳朵,眼睛,鼻子,嘴巴}
尾部{{部分},尾巴,绒毛,骨架}
躯体{{部分},胸,腹,背,内脏,绒毛,骨架}
脑袋{{部分},五官,胡子,绒毛,骨架}
山羊{{脑袋},躯体,四肢,尾部}
如果一个完整的整体是一个部分的特例的话,那么山羊也应该是一个部分。
山羊{ 部分,脑袋,躯体,四肢,尾部}
这样一来,就可以方便的表示结构图的部分--整体的关系了。
部分{轮廓,颜色}
绒毛,骨架,胸,腹,背,眼睛,鼻子,嘴巴,心,脾,肝,肠,肾,脚,尾巴,耳朵,肺,胃{{部分}}
肢体{{部分},脚,绒毛,骨架 }
前肢,后肢{肢体}
四肢{{部分},前肢,后肢}
内脏{{部分},心,脾,肝,肺,胃,肠,肾}
五官{{部分},耳朵,眼睛,鼻子,嘴巴}
尾部{{部分},尾巴,绒毛,骨架}
躯体{{部分},胸,腹,背,内脏,绒毛,骨架}
脑袋{{部分},五官,胡子,绒毛,骨架}
山羊{{部分},脑袋,躯体,四肢,尾部}
那么,现在是开始运用头脑思考的时候了。