Exercise 43:基本的面向对象的分析和设计

来源:互联网 发布:孙悟空知乎 编辑:程序博客网 时间:2024/05/22 15:54

原文链接:http://learnpythonthehardway.org/book/ex43.html

        我打算向你描述一个用Python,特别是用到其面向对象编程思想来创建一些东西的过程。我所说的”过程“就是告诉你一系列你可以按照顺序执行的步骤,但是并不是意味着让你解决什么问题都按照这个步骤来,要懂的灵活变通。这些步骤只是针对很多编程问题是一个很好的开始而不应该把它作为解决各种问题唯一的一种方法。这个只是一个你可以遵循的流程。

流程如下:

1、写出或者画出关于问题的描述。

2、提取步骤1中的关键词搜索这些关键词。

3、创建一个层次结构的类和对象的映射关系。

4、编写该类测试运行。

5、重复上述操作并且逐步改善程序。

        这个流程看起来是一个”自上而下“的过程,意思就是说它是从一个非常抽象模糊的状态然后慢慢改善直到明确具体某样东西并且可以编码的过程。

        开始的时候我先写下关于问题的描述试着联想关于它的任何事情。我甚至可能去画一张或者两张示意图来描述,也可能是某种地图的样子,或者甚至写一系列的邮件来描述这些问题。这些操作可以给我一种表达这些问题中的关键词的方法同时也可以测试自己已经学到了什么。

        然后我可以通过这些笔记,示意图,以及描述来弄明白这些关键擦概念。做这个有一个很简单的技巧:只要简单的将你写下的和画下的名词和动词创建一个列表,然后写出它们之间的关系。这可以很好的为我们下一步中命名类、对象和函数提供一个很好的参考。如果需要的话,我也可以针对这一列概念查找任何我不理解的地方这样我就可以更进一步的改善它们。

        一旦我有了这些概念我就饿可以创建一个关于类的简单大纲。你也可以拿出列表中个名词问“这个名词和其他名词概念是否相同呢?那是不是意味着他们可以有一个共同的父类,那这个父类应该被称作什么呢?”。像这样做直到你创建了一个只有简单的树列或者示意图的类层次结构。然后把你有的作为每一个类中的函数名称的动词都放进这个树列中。

(未完待续....)

0 0