使用 AIDE 实现高效率,第 7 部分: 更好的 IT 管理
2010-04-06 00:00:00 来源:WEB开发网清单 3 给出了名为 Demonstration 的类,该类实例化了 ApplicationServerObject 类的一个对象。
清单 3. 实例化 ApplicationServerObject 类
public class Demonstration
{
public static void main(String[] argv) {
ApplicationServerObject appServerObject =
new ApplicationServerObject("IBM", "WebSphere");
System.out.println("Managed element base class entity name: " +
appServerObject.getName());
System.out.println("Managed element derived class vendor name: " +
appServerObject.getVendorName());
}
}
第一个通用代码原则
对清单 1、清单 2 和清单 3 进行分析之后,就可以得到第一个通用代码原则:
代码的通用程度与其专用程度呈反比。
也就是说,继承树越往下,代码的应用范围越窄。
因此,面向对象的指导原则是让基类尽可能通用,不要尝试使用域特定的细节过于限制派生类。这相对于清单 1 和清单 2 的情况如何呢?一种方法是在清单 2 的类的名称选择上做文章。继续阅读前,您是否能想到一个更好、更为通用的方法来对清单 2 中的类进行命名呢?
名称的意义
通过选择名称 ApplicationServerObject,此子类将永远用于建模此类托管对象(即应用服务器)。这是一个常见错误,会导致生成脆弱的代码库。之所以说它脆弱,是因为当您稍后返回进行修改时(例如,维护变更或错误修复),将很难进行。清单 1 和清单 2 所示的代码很简单,但随着添加越来越多的托管实体,所面临的困难会翻倍,最终会得到一个无用的层次过浅的继承树。
更多精彩
赞助商链接