使用 AIDE 实现高效率,第 7 部分: 更好的 IT 管理
2010-04-06 00:00:00 来源:WEB开发网正如在上面清单 3 中看到的,我实例化了有缺陷的类 ApplicationServerObject 的一个对象。请注意,我调用了 ApplicationServerObject 中的第二个构造函数,而这会调用基类构造函数(通过调用 super(theProductName))。通过这样,会创建一个具有名称和一个供应商名称的 ApplicationServerObject 实例。
我随后调用基类方法 getName(),以获得托管对象的名称——在本例中即 WebSphere® Application Server 的实例。此调用之后是对 ApplicationServerObject 的 getVendorName() 方法的调用。正如清单 4 的底部所示,此调用会生成运行 WebSphere Application Server 的计算机的名称(即 IBM)。
继承与关注分离
请注意清单 4 中的代码示例划分基类和派生类间工作的方式。每个类都完成尽可能多的工作,而让子类进行更为具体的工作。这就是关注分离 原则的例子——这个原则是代码中非常理想的另一个质量属性,能够起到在整个继承树中平衡各自责任的效果。
使用关注分离
正确使用关注分离时,类结构就不会失衡了,不会有一个或两个提供大量代码的类。正如您将在接下来的部分中看到的,通用代码的生成通常很大程度都源自编程时所持的理念。这个方法并不复杂;通用代码创建实际讨论的仅是设计常识和编程实践。
通用代码是否真的值得花一番功夫呢?
我始终保持着这样一个观点,即正是编写尽可能通用的代码的能力将大师级设计人员/程序员与其他人区分开来。可以在不同的产品系列甚至不同行业中将通用代码重用于各种不同(通常都是非预期)的用途。Apache Software Foundation 是寻找通用软件的好地方,Axis、Apache(Web 服务器)和常见实用工具包就是这样的软件。看看回报,就会觉得绝对值得花精力编写通用代码!以电话 PBX 产品为例。其中一些较老的产品供应商已经使用和重用相同的代码库 30 多年了。考虑到此类产品的资本贬值大约为 10 年或者更短,这无疑是非常不错的回报了。这样的供应商会在维护基础 PBX 系列和添加新功能时跨产品系列重用代码。虽然 PBX 技术在不断推出,由 Voice over IP (VoIP) 技术取代其地位,但正是通用代码的使用帮助 PBX 供应商坚持了很长一段时间。此类代码的灵活性帮助延长了 PBX 产品的生命。
更多精彩
赞助商链接