`

面向对象的核心

阅读更多
在论坛上转了一段时间,发现了我的需要~~那就直接引了过来~~真是太感谢这位老大了~~~~~

首先,面向对象不是银弹,不能给你带来数量级的效率提高,但是和面向过程相比,面向对象提供很多方法让你更容易地改善软件的质量,能给你的生产率带来几倍的提高。

软件产品(尤其是应用软件)区别于普通工业产品的最重特点是,它在生命周期之内需要面对不断的变化。如果有一种技术能够充分地拥抱变化,就可以极大的提高软件的生产效率。

软件要做到能够拥抱变化,就必须做到高内聚、低耦合,能够分开软件可变的和不变的部分。后期的维护和升级大部分修改是其可变部分,分开可变和不变部分之后便可以容易的改动,从而有效地提高以后的扩展和维护效率,带来生产率的提高。

面向对象技术是让你可以拥抱变化的技术,它的重要目的就是分开软件的可变和不变部分。它的典型 特点是抽象、封装、继承、多态。抽象可以让你提取出共性(不变的部分)到父类(或接口),变的部分在不同的继承中实现。而多态就是让不变的部分(接口或者 抽象)和变的部分(多个不同的实现)顺利连接起来工作。封装可以让你封装变化,将变化约束在一个尽量小的范围之内,实现很好的内聚和降低不同模块(类)之 间的耦合,减少对其他模块的影响。

如果你能够充分的遵守面向对象的核心原则:面向接口(抽象)编程,就能充分地分开软件的可变和不变部分。

面向对象设计和编程,前期必须投入足够的时间去设计,划分出类和接口,完善地处理各个接口和类之间关系,这是一个比较复杂的过程。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics