面对对象六大原则
设计模式是对面向对象的实现
SOLID即以下1-5原则
1. 单一职责原则(SRP SingleResponsibilityPrinciple)
就一个类而言,应该仅有一个引起它变化的原因。一个类中应该是一组相关性很高的函数、数据的封装。
2. 开闭原则(OCP OpenClosePrinciple)
软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的。
3. 里式替换原则(LSP LiskovSubstitutionPrinciple)
所有引用基类的地方必须能透明地使用其子类的对象。
4. 依赖倒置原则(DIP DependenceInversionPrinciple)
- 高层模块不应该依赖低层模块,两者都应该依赖其抽象;
- 抽象不应该依赖细节;
- 细节应该依赖抽象。(细节:实现类,抽象:抽象类或接口)
5. 接口隔离原则(ISP InterfaceSegregationPrinciples)
客户端不应该依赖它不需要的接口。
6. 迪米特原则(LOD LawOfDemeter,最少知识原则)
一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现与调用者或者依赖着没有关系,调用者或者依赖者只需要知道它需要的方法即可。
Android中常用的设计模式?并源码举例?
设计模式
1. 单例模式
应用最广泛
定义:
确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
使用场景:
确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一个。如:创建一个对象需要消耗的资源过多(如访问IO和数据库等资源)
2. Builder模式
自由拓展项目