已经很久没有写博客了,今天开始继续学习Android的23种设计模式,首先在学习设计模式之前我们得先了解设计模式的六大基本原则——单一SRP(单一指责原则)、OCP(开闭原则)、LSP(里氏替换原则)、Dip(依赖倒置原则)、ISP(接口隔离原则)、LOD(迪米特原则)。
单一职责原则的英文名称是Single Responsibility PRinciple,缩写是SRP。单一职责原则的定义顾名思义就是:“就一个类而言,引起它变化的原因只有一个。” 通俗的说就是‘一个类只负责做一件事’。这个“单一”的划分界限并不是说那么明显,但是,如果是两个完全不一样的功能就不能放在同一个类之中。
开闭原则的英文名称是Open Close Principle,缩写是OCP。开闭原则的定义是:“软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的。”我的理解是提倡我们实现继承,已经存在的实现类关闭修改,不让我们去修改,但是新的类我们可以通过继承重写父类的接口来修改。这个原则可以使我们的项目更加稳定并且灵活。当我们的软件需要更新升级时,我们尽量通过扩展的方式来实现变化,而不是修改原有的代码,否则很容易在原有的代码中引入新的bug。
里氏替换原则的英文名称是Liskov Substitution Principle,缩写是LSP。里氏替换原则说白了就是“抽象”。它的定义是:所有使用基类的地方都必须能透明地使用其子类的对象。也就是说,所有父类出现的地方都可以用其子类来替换,并且不能产生任何的异常和错误。
我们可以发现开闭原则和里氏替换原则的核心都是抽象,抽象依赖于继承所以说,这两个原则的核心还是继承。继承是OOP(Object Oriented Programming,面向对象编程)的三大基本特点(继承,多态,封装)之一。在OOP中继承的优缺点比较明显,优点当然是代码的可扩展性高,缺点就是所有子类必须拥有父类的属性和方法,这就会造成代码冗余,灵活性降低。
新闻热点
疑难解答