前端必须知道——设计模式六大原则

六大原则

1. 单一职责原则 single Responsibility principle

一个方法只做一件事情,请求数据的函数你就不要渲染数据了,吃饭上厕所别用同一个地方

  假设我们涉及的一个函数,不按照单一职责原则来写,代码的复杂度会提高,因为一个函数内部含有多个功能,而实际上,每个功能都可以独自拆分程一个独立的函数。

  也就是说,每个函数来写一个功能。诸多函数汇总起来,就要形成耦合,也就是以牺牲耦合度的代价来降低复杂度。

2.开闭原则 OCP

  开闭原则 OCP 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭

  面向扩展开放,面向修改关闭 jquery extend,同时增强代码复用性。

3.里氏代换原则 L Subsituation Principle。

  任何基类可以出现的地方,子类一定可以出现。通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。

  一个父类可以访问的接口,父类忙着其他事情,子类可以去访问。

4.迪米特法则 (最小知道原则)LD

  一个接口和一个方法,传入的参数越少越好。降低耦合度的同时也会让复杂程度降低。

谍战片中间谍,两个同一伙间谍互相不知道,为什么要这样呢?
为了最大程度较少伤害,死只死一条线上的人。

形成的关联越少越好 依赖最少。

5.依赖倒置原则 DIP

  最常用的原则,依赖接口,不依赖方法,底层的东西不用了解,我们只需知道表现就可以。降低耦合度

前端应用中可以理解成多者之间依赖状态,而不依赖彼此。

6.接口分离原则 ISP

把大接口拆分小接口,不能一个接口全部实现增删改查

比如我写作业,要细分成,写数学,写英语,写语文等作业。同时降低耦合度了

开发的原则

优先降低复杂度,尽量降低耦合度

  1. 利用单一职责原则,开闭原则,里氏代换原则降低复杂度。
  2. 通过迪米特法则减少耦合度
  3. 通过依赖倒置原则消除可以没有的耦合

原则是理论,模式是在理论上的具体方式
我希望并建议你考试100分,但都是理论,具体还需要落在实际方式方法上,但不可以追求,
其中有时间成本问题,用更多时间去玩还能保证不低的分数也是可以的。

总结

JS中没有接口概念

作为前端开发人员来说,我们用的最多的设计原则是S(单一职责原则).O(开放封闭原则),所以在程序设计的时候我们重点关注这两个即可 ;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端开发中常用的设计模式包括单例模式、外观模式、工厂模式和装饰器模式。 单例模式是一种保证一个类只有一个实例的设计模式。在前端开发中,常用于管理全局状态或资源,例如全局的状态管理器、全局的配置对象等。通过单例模式,可以确保全局状态的一致性和避免重复创建实例。 外观模式是将多个子系统的复杂逻辑进行抽象和封装,提供一个更统一、更简洁、更易用的接口。在前端开发中,常用于封装复杂的原生DOM操作、封装与后端API的交互逻辑等。通过外观模式,可以简化代码的调用和维护,提高开发效率。 工厂模式是用来创建对象的一种常见设计模式。在前端开发中,常用于创建大量相似的对象,避免重复的构造函数代码。通过工厂模式,可以快速创建对象,并且可以在工厂函数中封装一些创建对象的逻辑,提高代码的可维护性和可扩展性。 装饰器模式是一种动态地给对象添加额外功能的设计模式。在前端开发中,常用于给已有的对象或函数添加一些额外的功能,例如给组件添加日志记录、给函数添加性能监控等。通过装饰器模式,可以灵活地扩展对象或函数的功能,而不需要修改原有的代码。 以上是前端开发中常用的设计模式,通过使用这些设计模式,可以提高代码的可复用性、可扩展性、可维护性和灵活性。 #### 引用[.reference_title] - *1* *3* [浅谈Vue项目中用到的设计模式](https://blog.csdn.net/Model_yc/article/details/127425717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [9种前端常见的设计模式](https://blog.csdn.net/php_martin/article/details/125890194)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值