设计模式与设计原则(第二周总结)
为什么要面向对象设计?
讲面向对象设计的时候,通常是要相对于面向过程设计一起说。
面向过程的程序通常是把数据与过程分离的,认为程序是处理数据的过程。现实事物的描述只用数据来描述。
而面向对象的设计思想认为对象是数据与过程的结合体。过程通常是为了作用与对象的数据的。
通常来说,面向对象的程序设计,更容易全面描述现实的事务。
什么是一个好的面向对象的程序?
如何才能设计出一个好的面向对象的程序,或者说,一个好的面向对象的程序是有哪些特征。这是面向面向对象的设计原则要告诉程序员的事情。
OCP原则: 程序要支持扩展,限制修改。(解耦)
依赖倒置原则:高层与低层的都依赖于抽象。(解耦,扩展)
替换原则(LSP):子类在任何情况下都可以替换子类。(扩展)
接口隔离原则(ISP):将大的接口分成多个小的接口。(解耦)
单一职责原则:一个类应该只有单一的功能。(解耦)
最小知识原则:一个对象尽量少了解其他对象。(解耦)
所以,面向对象的设计原则是为了让解耦程序,使得系统的扩展性更好,扩展成本更低。
面向对象的三个特性如何理解?
面向对象的程序重要的三个特性:多态,继承,封装。程序设计的过程就是利用面向程序设计的三个特性,设计出符合六个原则的程序的过程。设计模式就是大牛总结的一套方法,在不同的场景下,设计满足六个原则的程序。
版权声明: 本文为 InfoQ 作者【麻辣】的原创文章。
原文链接:【http://xie.infoq.cn/article/ec5b572a1564d33e767d9ac67】。未经作者许可,禁止转载。
评论