Android面试轻松搞定设计模式:六大原则+三大分类+详细总结

Android面试轻松搞定设计模式:六大原则+三大分类+详细总结
2020年,我们已经过了5天,这样说来,春招的也快来了,以前总结了不少面试题分享给大家

今天就给大家详细总结一下设计模式,春招可不能倒上面

第一次看文章的朋友可以关注我,会不定期发布大厂面试题、Android架构技术知识点及解析等内容,还有学习PDF+源码笔记+面试文档+进阶视频分享

设计模式六大原则

a.单一职责原则

就一个类来说,应该只有一个引起它变化的原因

一个类做一件事情,避免职责过多。比如这种情况是不太好的,在一个Activity中既有bean文件,又有http请求,还有adapter等等,这就导致我们需要修改任何一个东西的时候都会导致Activity的改变,这样一来就有多个引起它变化的原因,不符合单一职责原则

b.开放封闭原则

类,模块,函数应该是可以扩展的,但是不可以修改

对于扩展是开放的,对于修改是封闭的。尽量做到面对需求的改变时,我们的代码能保持相对稳定,通过扩展的方式应对变化,而不是修改原有代码实现

c.里氏替换原则

所有引用基类的地方,必须可以透明的时候其子类的对象

里氏替换原则是实现开放封闭原则的重要方式之一,我们知道,使用基类的地方都可以使用子类去实现,因为子类拥有基类的所有方法,所以在程序设计中尽量使用基类类型对对象进行定义,在运行时确定子类类型。

d.依赖倒置原则

高层模块不应该依赖于底层模块,两者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象

依赖倒置原则针对的是模块之间的依赖关系,高层模块指调用端,底层模块指具体的实现类,抽象指接口或抽象类,细节就是实现类。该原则的具体表现就是模块间的依赖通过抽象发生,直线类之间不发生直接依赖关系,依赖通过接口或抽象类产生,降低耦合,比如MVP模式下,View层和P层通过接口产生依赖关系

e.迪米特原则(最少知识原则)

一个软件实体应该尽可能少的与其他实体发生相互作用

迪米特原则要求我们在设计系统时,尽量减少对象之间的交互

f.接口隔离原则

一个类对另一个类的依赖应该建立在最小的接口上

接口隔离原则的关键是接口以及这个接口要小,如何小呢,也就是我们要为专门的类创建专门的接口,这个接口只对它有效,不要试图让一个接口包罗万象,要建立最小的依赖关系

当然想看以往总结的学习内容和面试文章可以看我的GitHub:https://github.com/Meng997998/AndroidJX

Android面试轻松搞定设计模式:六大原则+三大分类+详细总结

设计模式的分类

设计模式分为三类

####a.创建型设计模式

与对象创建有关包括单例模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式

####b.结构型设计模式

结构性设计模式是从程序的结构上解决模块之间的耦合问题,包括适配器模式,代理模式,装饰模式,外观模式,桥接模式,组合模式和享元模式

####c.行为型设计模式

主要处理类或对象如何交互及如何分配职责,包括策略模式,模板方法模式,观察者模式,迭代器模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中介模式,解析器模式

最后

关注我,会不定期发布大厂面试题、Android架构技术知识点及解析

猜你喜欢

转载自blog.51cto.com/14606040/2464528
今日推荐