1 将相关的东西放在一块儿。若是一个函数操做一个全局变量,最好将它们做为一个类的属性和方法。python
2 不要让对象之间过于亲密。方法应只关心其所属实例的属性,对于其余实例的状态,让它们本身去管理就行了。函数
3 慎用继承,尤为是多重继承。继承有时颇有用,但在有些状况下可能带来没必要要的复杂性,要正确地使用多重继承很难,要排除其中的bug更难。spa
4 保持简单。让方法短小紧凑。通常而言,应确保大多数方法都能在30秒以内读完并理解。对于其他的方法,尽量将其篇幅控制在一页或一屏内。对象
肯定须要哪些类以及这些类应包含哪些方法时,尝试像下面这样作。继承
(1)将有关问题的描述(须要程序作什么)记录下来,并给全部的名词、动词和形容词加上标记。变量
(2)在名词中找出可能的类。bug
(3)在动词中找出可能的方法。程序
(4)在形容词中找出肯的属性。方法
(5)将找出的方法和属性分配给各个类。co
有了面向对象模型的草图后,还须要考虑类和对象之间的关系(如继承或协做)以及透明的职责。为进一步改进模型,可像下面这样作。
(1)记录(或设想)一系列用例,即便用程序的场景,并尽力确保这些用例涵盖了全部的功能。
(2)透彻而仔细地考虑每一个场景,确保模型包含了所需的一切。若是有遗漏,就加上;若是有不太对的地方,就修改。不断的重复这个过程,直到对模型满意为止。
有了你认为行之有效的模型后,就能够着手编写代码了。你极可能须要修改模型或程序的某些部分,所幸这在python中很容易,请不用担忧。只管按这里说的去作就好。