
前端设计模式基础原则
1.单一职责原则SRP(Single Responsibility Principle)
要求一个对象(或模块、类等)应该只有一个引起它变化的原因,也就是说,一个对象只负责一项职责。在前端开发中,这意味着一个组件、函数或类应该只关注于完成一个单一的任务或功能,而不应该包含多个不相关的功能。这样可以提高代码的可维护性、可读性和可重用性,同时降低代码的复杂度。
2.开闭原则 OCP(open–closed principle)
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。模块应尽量在不修改原代码的情况下进行扩展。
开闭原则 OCP 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭,面向扩展开放,面向修改关闭 jquery extend,同时增强代码复用性。
3.里氏替换原则 LSP(Liskov substitution principle)
定义:所有引用基类的地方必须能透明地使用其子类的对象,也可以简单理解为任何基类可以出现的地方,子类一定可以出现。
任何基类可以出现的地方,子类一定可以出现。通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。一个父类可以访问的接口,父类忙着其他事情,子类可以去访问。
4.接口隔离原则 ISP(Interface Segregation Principle)
定义:客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。简单来说就是建立单一的接口,不要建立臃肿庞大的接口。也就是接口尽量细化,同时接口中的方法尽量少。把大接口拆分小接口,不能一个接口全部实现增删改查
5.依赖倒转原则 DIP(Dependency Inversion Principle)
定义: 程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。最常用的原则,依赖接口,不依赖方法,底层的东西不用了解,我们只需知道表现就可以。降低耦合度
6.最小知道原则 LOD(principle of least knowledge)
定义:一个软件实体应当尽可能少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。
一个接口和一个方法,传入的参数越少越好。降低耦合度的同时也会让复杂程度降低。
7.合成/聚合复用原则 CARP(Composite/Aggregate Reuse Principle)
定义:尽量使用合成/聚合,而不是通过继承达到复用的目的。
8.KISS 原则
定义: Keep It Simple, Stupid,在设计中应当注重简约的原则。
9.YAGNI 原则
定义:You aren't gonna need it,表示暂时不需要的就不要做。
10.DRY 原则
定义:Don't Repeat Yourself,不要写重复的代码。