首页 > 代码库 > 面向对象编程的软件设计原则

面向对象编程的软件设计原则

         在开始Android软件实际APP开始之前,我们需要对面向对象设计原则及设计模式做一个初步的了解。才能在以后的实战过程中,少走弯路;使我们的软件开发生涯感觉到快乐、轻松。好了,废话少说,咱们今天给大家一起探讨一下软OOP中的软件开发设计原则。这些东东都是OOP的设计精髓,他们蕴藏着前辈留下的产物。目前,软件设计最基本原则有以下几种(总共有11种):单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则和里氏替换(Liskov替换)原则

       单一职责原则

        就是一个类值做一件事情,引起它发生变化的只有一个。我们经常会听到一个词语“高内聚、低耦合”。我们将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。若是职责越多,耦合性就会越高;我们稍微哪个地方有改动,都会波及到其他的类。

       开放封闭原则

      地方具体体现在:对扩展开发、对修改关闭。 什么意思呢?对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况;对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对其进行任何尝试的修改。

       其实,我们在实际的编程过程中,用的最多。您想想:一般我们在设计的时候,我们会设计抽象类、接口(行为);然后具体的实现类是通过继承的方式;我们通过覆写的方式来编写不同具体的实现类的方法;这就是此设计原则的真实写照。

      依赖倒置原则

      其核心思想是:依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。当两个模块之间存在紧密的耦合关系时,最好的方法就是分离接口和实现:在依赖之间定义一个抽象的接口使得高层模块调用接口,而底层模块实现接口的定义,以此来有效控制耦合关系,达到依赖于抽象的设计目标。抽象的稳定性决定了系统的稳定性,因为抽象是不变的,依赖于抽象是面向对象设计的精髓,也是依赖倒置原则的核心。依赖于抽象是一个通用的原则,而某些时候依赖于细节则是在所难免的,必须权衡在抽象和具体之间的取舍,方法不是一层不变的。依赖于抽象,就是对接口编程,不要对实现编程。 

      接口隔离原则

      其核心思想是:使用多个小的专门的接口,而不要使用一个大的总接口。我们在设计接口的时候,具体而言,接口隔离原则体现在:接口应该是内聚的,应该避免“胖”接口。一个类对另外一个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,这是一种接口污染。

    里氏替换(Liskov替换)原则

      任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当子类可以替换基类,软件单位的功能不受影响时,基类才能真正的被复用,而子类也可以在基类的基础上增加新的行为。Liskov替换原则,主要着眼于对抽象和多态建立在继承的基础上,因此只有遵循了Liskov替换原则,才能保证继承复用是可靠地。实现的方法是面向接口编程:将公共部分抽象为基类接口或抽象类,通过Extract Abstract Class,在子类中通过覆写父类的方法实现新的方式支持同样的职责。


面向对象编程的软件设计原则