the principal benefits are follows:
1.Less costly to Maintain
Maintenance is Localized and thus is less costly and error-prone,even in face of changing requirements,provided that the inheritance structure doesn't have to be rewritten.
使用面向oo对象方法的12个优点
主要的优点如下所述:
1 维护费用低
假设继承结构没有必要重写,即使是改变需求,那么维护是局部的,因此维护费低,
2.High Quality & Productivity
Object Technology addresses the trade-off between quality and productivity.
Well-designed object-oriented systems are the basis for systems to be assembledlargely from reusable components,leading to higher productivity. Reusing existing classes that have been tested in the field on earlier projects leads to system which are of higher quality,meet business requirments better and contain fewer bugs.
2.质量高,效率高
Object技术致力于质量和生产率之间的平衡折衷。
设计良好的面向对象系统是由可重用的大量组件组成的系统的基础,这样可以取得较高的生产率。 重用现有的在以前的项目的领域中已被测试过的类使系统能够满足要具有较高的质量并且较少错误的业务需求。
3.Easily Extensible
object-oriented programming,and inheritance in particular,makes it possible to define clearly and use modules that are functionally incomplete and then allow their extension without upsetting the operation of other modules or their clients.this makes systems more flexible,more easily extensible and less costly
to maintain.
3.容易扩展
面向对象编程,尤其是继承,有可能清楚地定义和使用模块,即使模块的功能不很完善,允许对它们进行扩展而无须操作其它模块或纷扰它们的客户。这使系统更灵活,更容易扩展,而且费用更低。
4.a tool for complex projects
Ojbect-orientation is a tool for managing complexity,leading to increased scalability(可量测性?),there is no reason why effort should increase exponentially with project size and complexity as is the case with conventional
systems.
4.适用于复杂项目的一个工具
Ojbect-orientation是一个工具,用于管理复杂地不断增加的scalability(可量测性),没有原因说明为什么随项目大小和复杂程序的增加工作量以指数形式增加,这是传统系统的情况。
5.thinking in natural
in the same way,the partitionning of work in a project has a natural basis and should be easier,Analysis and design by partitioning a domain into objects corresponding to(符合) solution-oriented view of their real-world counterparts(副本?) is often more natural than a top-down functional decomposition.
以自然方式思考
同样,分割项目中的工作有自然基础,而且应该更容易,通过将一个领域划分成为对象,这些对象符合它们的现实世界的对应物的基于解决的视点,这样来分析和设计比自上至下的功能分解更自然。
6.support Prototyping & evolutionary software developement method
better Prototyping and evolutionary delivery are better supported,thus reducing time-to-market and requirements drift.
支持Prototyping & evolutionary(原型和进化)的软件开发方法
Prototyping & evolutionary得到了更好的支持,这样减少了市场化时间和变动要求。
7.the message passing metaphor(比喻,暗示?) means that interface descriptions between modules and external and legacy systems become much easier.
消息(message)传递metaphor意味着模块与外部和遗留下来的系统之间的接口描述变得容易得多。
8.There is greater seamlessness in passing from conceptual modelling, through analysis and design to coding. Objects can be used for all stages of modelling and there is a greater chance that the coded objects will correspond to something in the vocabulary of users:opening the possibility of shared understanding between developers and their clients.
通过分析和设计从conceptual modelling传递到编码更加无缝。 对象能被用于所有modelling的所有阶段,编码对象将对用户词汇中的某些东西作出反应,这有一个极大的机会:打开开发者和他们的客户之间的共享理解的可能性。
9.greater reversibility to model
Object-Oriented systems are potentially capable of capturing far more of the meaning of an application;its semantics. Since object-oriented methods are mainly concerned with modelling systems they can be used to carry out scenario modelling and facilite changes within the business. This property leads to greater reversibility(可逆性) in the end product and enhances the possibility of reverse engineering systems and of tracing features back to requirements.
模式的更大可逆性
基于对象的系统有捕捉应用程序更多内涵的潜在能力;其语义学。 由于面向对象的方法主要关注模式系统,模式系统能被用来执行某一特定的模式和实现业务内的变化。 这一属性导致终端产品中的更大reversibility(可逆性)并且提高了倒推工程系统和把特性回溯到需要的可能性 。
10.secure
information hiding through encapsulation helps to build secure systems.
安全
通过封装的信息隐藏有助于建立安全的系统。
11.Formal specificaiton methods can be made to blend with object-oriented
design to some extent. I will have more to say on this later.
正式规范方法能被用来调和面向对象的设计的一些扩展。 稍后我还将在此方面多费点口舌。
12.Some applications have defeated other approachs and object technology seems to be the only way to build them efficiently. Examples are graphical user interfaces, distributed systems,agent-based systems and workfow systems.
一些应用已击败了其它方法,对象技术似乎是唯一有效的创建方式。 例子是图形化了用户接口,分布式系统,agent-based系统和workfow系统。
--摘自《Object-Oriented methods principles & practice》3rd edition,Ian Graham。