面试题之架构设计六大基本原则

前言

最近面试,面试被面试官问到,开发中使用到那些架构模式:回答,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,我会定期做一些技术分享!未完待续。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章