前言
最近面试,面试被面试官问到,开发中使用到那些架构模式:回答,MVC ,MVVM ,MVP 架构方式,
在问MVVM 中遵循了那些架构原则,直接懵逼了,使用到了架构方式,但是并不清楚架构原则都有什么,接着赶紧查询下架构原则;
架构
架构最重要的就是编程思想:
- 利于开发者
- 利于公司
- 利于客户
架构六大原则
1.单一职责原则(SRP Single Responsibility Principle)
定义:对一个类来说,应该仅有一个引起它变化的原因。简单来说就是模块的划分需要做到职责清晰,不要既能满足A需求,又能满足B需求,这样耦合太强,不利于后期的扩展和维护。
2.开闭原则(COP Open Close Principle)
定义:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的。简单的说就是程序中类应该是易于扩展的,而不是一有什么新的需求或者变化就去修改原来的代码,这样很容易出现问题
3里氏替换原则(LSP Liskov Substitution Principle)
定义:在基类出现的地方,其子类也可以出现,并且不会出现错误。简单的说就是利用了Java面向对象思想中的继承、多态的特性。
4依赖导致原则(DIP Dependence Inversion Principle)
定义:高层次的模块不依赖于低层次的模块的实现细节。简单来说就是依赖抽象(高层次模块)而不依赖具体实现(低层次模块)。
5接口隔离原则(ISP InterfaceSegregation Principles)
定义:不依赖不需要的接口,从而容易重构、更改和重新部署。
6迪米特原则(最少知识原则 LKP/LOD Least Knowledge Principle)
定义:一个类应该对自己需要耦合或者调用的类知道的最少,类的内部如何实现与调用者或者依赖者没关系,调用者或者依赖者只需要知道它需要的方法即可。
总结
架构思想对于架构方式还是很重要的,设计接口,以及开发过程中,使用这几种原则,可以让自己的代码更加简洁,清晰;
希望对大家有用处,欢迎大家点赞+评论,关注我的CSDN,我会定期做一些技术分享!未完待续。。