代码改变世界

架构设计原则--类层次多少为宜?

2011-08-23 06:40  java线程例子  阅读(161)  评论(0编辑  收藏  举报

只要是采用面向对象编程,类层次是必然的(包括接口),虽然面向对象编程有一个原则就是多用接口少用继承的原则,但这并不是说不要用继承,毕竟继承可以实现代码的复用,有其好处。对于自己的类层次,当然是越少越好,但不管多少最少是2两层,那么2-3层应该很正常,4-5层有点多,6层及以上,对于一般的应用体系就多了。

我一般设计的应用体系中类层次是:第一层,顶层,一般为非范型,用于该类的基本规范和约束,第2层分标准功能和用户自定义两个分支。标准功能采用范型,这样程序员在叶子类使用时语义更加明确,不用逆向转换,用户自定义基类只提供标准的必要的约束,提供给用户处理非标准的情况。第三层就是叶子类。这种层次体系的好处是可以获得继承本身的好处,而且标准的功能类在很多时候是可以利用代码生成器自动生成代码的。

一般来讲,主要的精力用于解决80%的问题,剩下的20%比较特殊的问题,就让用户自己定义类来完成,这样就可以使得80%部分不会因为20%甚至更少的部分特殊问题而变得过于复杂。