逆水行船

别人的天堂,是我的异乡;无端的繁华,倍添我的惆怅

 

如何设计类

在工作中,我们经常用到类,怎么写好类呢?这个问题我思考了很久。

如果想写好类,最好是站在类的使用者的角度上来看待类。我们既是类的实现者,也是类的使用者,所以这应该不难。

类有这样几个使用者:
1:类的调用者
2:类的维护者
3:类的阅读者

站在这些使用者的角度上看,什么样的类是好的类呢?
1:低扇入:调用的其他类很少
  如果类调用的其他类越少,使用起来越方便,以为不用担心会受到其他类的影响。
而且如果哪一天我们想把该类拷贝到其他地方用时,也不用再继续拷贝其他类才能使当前类运转起来。
3:接口简洁
一个类,提供的外部可见成员越少越好。一个有3个函数的类和一个有30个函数类给人的感觉就不一样,让人觉得有3个函数的类简单,好用,有30个函数的则相反。
2:封装好:
把private函数写成public类型的,会增加函数的数量。

4:函数参数少
一个函数有5,6个参数,用的时候需要照顾参数的顺序,理解每个参数的含义,让人觉得这个函数很麻烦,很容易就把参数的顺序搞错了,或把第n个参数的含义和第n+1个函数的意义给搞混了。

5:参数多的函数,对参数进行结构化
如果某个函数有多余6个的参数,则最好把它写成结构。例如调用某添加函数,拿职工来说吧,有部门、性别,姓名,工号...,在某个函数中,把这些信息用参数传进去很麻烦,但是把这些信息写成一个职工对象,添加的时候,传一个职工对象进去,则就方便多了,看起来也清爽啊,不会弄混参数的顺序和参数的含义。

6:函数的调用与调用顺序无关。
在调用函数A之前,必须调用函数B,在调用函数B之前,必须调用函数C,这是不是很让人郁闷啊。
命名调用函数A,就必须知道B,C是干什么的。让人觉得不爽。

7:注释明白,完整
如果我是个看代码的,我觉得一行行看代码很累,往往要阅读很多的代码,才知道这个类,这个函数是干什么的,他们之间是如何跳转的。他们所隐含的含义往往需要猜测。
为了看代码人着想,我们在每个类的头部,大体描述一下我们怎么想的,怎么构思的这个类。
给每个变量,函数添加上正确的注释,是一件有功德的事情。

8:高扇出:将会被用在很多地方
写同一段代码,使用的次数,地方越多,越有成就感。
需要修改时,只修改这一个地方,就能对很多地方产生影响,多爽啊。

posted on 2008-08-08 16:36  荣-  阅读(3298)  评论(0编辑  收藏  举报

导航