13 设计模式介绍
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
面向对象六大原则:
(1) 单一职责原则(Single ResponsibilityPrinciple,SRP)
一个类中应该是一组相关性很高的函数和数据的封装。
(2) 开闭原则(Open ClosedPrincipal,OCP)
开闭原则是说模块应对扩展开放,而对修改关闭,模块应尽量在不修改原(是"原",指原来的代码)代码的情况下进行扩展。是面向对象设计的终极目标。
(3) 里氏替换原则(LiskovSubstitution Principle,LSP)
在调用父类的地方,换成其子类也完全可以运行。面向对象语言的三大特点是封装、继承和多态。里氏替换原则依赖于继承和多态。
(4) 依赖倒置原则(DependencyInversion Principle,DIP)
抽象不应该依赖于细节,细节应当依赖于抽象。要针对接口编程,而不是针对实现编程。高层模块不应该依赖底层模块,两者都应该依赖其抽象。
(5) 接口隔离原则(InterfceSegregation Principle,ISP)
类不应该依赖它不需要的接口,且类依赖的接口尽可能的小,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。
(6) 最小知识原则(Principle ofLeast Knowledge,PLK,也叫迪米特法则)
一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现与调用者或者依赖者没关系,调用者或依赖者只需知道它需要的方法即可,其他的可一概不用管。
设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。
设计模式分为三种类型:
(1) 创建型模式
单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
(2) 结构型模式
适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
(3) 行为型模式
模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
下面介绍一些开发APP时常用的模式。
参考:《Android源码设计模式解析与实战》
网友评论