当前位置:首页 > 数码 > 前端常用设计模式初探 (前端常用设计模式有哪些)

前端常用设计模式初探 (前端常用设计模式有哪些)

admin8个月前 (05-04)数码70

设计模式是一组可重复使用的解决方案,用于解决软件设计中的常见问题。它们提供了将代码组织成可重用、灵活和易于维护的形式的蓝图。

常用原则

在了解设计模式之前,让我们先回顾一下一些重要的常用原则:

  • 单一职责原则 (SRP): 每个对象或方法只应负责一个职责。
  • 开放-封闭原则 (OCP): 对象应可扩展但不可修改。代码应保持稳定,即使添加新功能也应如此。

设计模式类型

根据功能,设计模式分为以下三类:

  • 创建型: 封装了创建对象的各种方式。
  • 结构型: 定义了如何组织对象并分配职责。
  • 行为型: 定义了对象之间的通信和交互方式。

常用设计模式

以下是一些最常见的创建型、结构型和行为型设计模式,重点关注遵循 SRP 和 OCP 原则:

创建型

单例模式

单例模式确保一个类只有一个实例,并通过全局访问点提供对该实例的访问。这对于需要保持全局状态或保证系统中只存在一个特定对象的情况非常有用。

结构型

策略模式

策略模式允许客户端在不修改类的情况下选择算法或行为。它将算法封装在独立的策略类中,允许在不同的策略之间切换。

代理模式

代理模式提供一个对象或资源的代理或占位符。它控制对真实对象或资源的访问,并可以用于增强、修改或扩展其行为。

行为型

前端

观察者模式

观察者模式允许对象(发布者)通知并更新依赖于其状态的其他对象(观察者)。它提供了一种松耦合的方式来管理对象之间的依赖关系,并允许动态添加和删除观察者。

应用设计模式

设计模式不是固定的规则,而是解决常见设计问题的有力工具。通过遵循 SRP 和 OCP 原则,并应用适当的设计模式,我们可以创建灵活、可维护且可扩展的代码。

优点

  • 提高代码的可重用性
  • 增强代码的可维护性和灵活性
  • 促进团队沟通和设计理解
  • 减少代码中的错误和复杂性

缺点

  • 可能增加代码的复杂度
  • 在某些情况下,过度设计可能会降低性能
  • 需要了解和掌握各种设计模式

结论

设计模式对于软件开发至关重要。通过理解常用原则和应用适当的设计模式,我们可以创建健壮、可扩展且易于维护的代码。它们提供了一种通用的语言来讨论和设计复杂的代码结构,从而改善协作和团队效率。


前端Vue.js框架是什么?

前端框架是什么?有哪些特点?是一个前端框架,用于构建用户界面的渐进式框架。在Vue中一个核心的概念是让用户不再操作DOM元素解放了用户的双手,让程序员可以更多的时间去关注业务逻辑,Vue框架能够提高开发的效率。

科普时刻 :

黑马程序员vue前端基础教程-4个小时带你快速入门vue

前端开发利器vue,微信小程序快速开发实战

web前端基础必备教程-2小时玩转Vue单元测试

黑马程序员Vue2.0+Vue3.0入门到精通,大厂前端岗位必备技能

1、是什么?

Vue是一个js库,且无依赖别的js库跟jquery差不多。Vue核心库只关注视图层,非常容易与其它库或已有项目整合。是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。

Vue.是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是Vue 被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

2、Vue的MVVM设计模式是什么?

如果了解前端一定知道MVVM和MVC这两种设计模式,且很有可能对mvp也有一些了解。MVC即model,view,control,jQuery就是采用的这种设计模式。MVVM即model,view,viewmodel,是数据驱动模式,即所有的一切通过操作数据来进行而尽量避免操作DOM树。

不关注DOM结构,考虑数据该如何储存,用户的操作在view通过viewmodel进行数据处理,分情况是否通过ajax与model层进行交互,再返回到view层,在这个过程中view和viewmodel的数据双向绑定使得我们完全的摆脱了对DOM的繁琐操作,而是专心于对用户的操作进行处理,避免MVC中control层过厚的问题。

在vue调试方面可以选择安装chrome插件vue Devtools。打开vue项目,在console控制台选择vue面板。在Devtools对象中,可以选择组件,查看对应组件内的数据信息。也可以选择Vuex选项,查看该项目内Vuex的状况变量信息。

3、有哪些优点?

声明式,响应式的数据绑定;组件化的开发;Virtual DOM;响应式的数据绑定 (1)jQuery首先获取到DOM对象,然后对DOM对象进行进行值的修改等操作; (2)Vue首先把值和js对象进行绑定,然后修改js对象值,Vue框架会自动把DOM的值就行更新; (3)简单理解为Vue帮我们做了DOM操作,以后用Vue就需要修改对象的值和做好元素和对象的绑定,Vue框架会自动做好DOM相关操作; (4)DOM元素跟随JS对象值的变化而变化叫做单向数据绑定,若JS对象的值也跟随着DOM元素。

4、需要学习哪些框架相关知识点?

安装、 目录结构、 起步、 模板语法、 条件语句、 循环语句、 计算属性、 监听属性、 样式绑定、 事件处理器、 表单、 组件、 组件自定义事件、 自定义指令、 路由、 过渡& 动画、 混入、 Ajax(axios)、 Ajax(vue-resource)、 响应接口、 实例等。

是一个JavaScriptMVVM库,一套构建用户界面的渐进式框架。以数据驱动和组件化的思惟构建的,采取自底向上增量开辟的设计。比拟于,供给了加倍简洁、更易于懂得的API,使得我们快速地上手并应用。

Java web常用的开发模式中,你更青睐哪一种?

开发模式:

JAVA中的开发模式:

MVC是一个很常用的程序开发设计模式,M-Model(模型):封装应用程序的状态;V-View(视图):表示用户界面;C-Controlle

其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:

二、设计模式的六大原则

1、开闭原则(Open Close Principle)

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

2、里氏代换原则(Liskov Substitution Principle)

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

3、依赖倒转原则(Dependence Inversion Principle)

这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(Interface Segregation Principle)

这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。

5、迪米特法则(最少知道原则)(Demeter Principle)

为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

6、合成复用原则(Composite Reuse Principle)

原则是尽量使用合成/聚合的方式,而不是使用继承。

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: 前端

“前端常用设计模式初探 (前端常用设计模式有哪些)” 的相关文章

民众偏好-GPT-前端之死-调查显示-64% (民众的偏见)

民众偏好-GPT-前端之死-调查显示-64% (民众的偏见)

引言 人工智能的迅速发展引发了业界对自动化软件开发的担忧,特别是当涉及到前端工程时,该领域在很大程度上依赖于手工编码。 近年来,多模态大语言模型(LLM)在理解和生成视觉和文本数据方...

前端的十个棘手问题-检验你的知识储备! (前端)

前端的十个棘手问题-检验你的知识储备! (前端)

JavaScript 的变量提升是一种现象,即使用 var 关键字声明的变量会在编译时提升到作用域的顶部。 这会导致以下行为: 变量在声明前可访问,但值为...

优雅的前端国际化实现指南-b-b (时尚的前端)

优雅的前端国际化实现指南-b-b (时尚的前端)

Internationalization (i18n) is the process of adapting software applications and content to differ...

前端请求到后端API的中间件流程解析 (前端请求到后端的详细过程)

前端请求到后端API的中间件流程解析 (前端请求到后端的详细过程)

在前端请求到后端 API 的典型流程中,请求经过一系列中间件的处理,以确保请求的顺利处理和安全性。以下是中间件的详细解析: 前端请求 用户在前端发起请求,包括请求的 URL、参数以及其...

不容错过的前端开发技术 (不容错过的前一句)

不容错过的前端开发技术 (不容错过的前一句)

作为一名软件开发人员,跟上最新的发展至关重要。对于前端开发而言,这一点尤为关键,因为它旨在为用户创造无缝且引人入胜的体验。以下是前端开发领域中一些最流行的技术,它们将在 2023年大受欢迎:...

十分钟搞定前端虚拟列表-用于处理超长列表的优化技术

十分钟搞定前端虚拟列表-用于处理超长列表的优化技术

在处理包含大量数据的列表时,前端性能往往是一个重要的考虑点。传统的滚动列表组件在处理大数据量时可能会非常卡顿,甚至导致页面崩溃。那么针对这个问题,虚拟列表的概念就出现了,随后又出现了各种各样的虚拟...

从零到一的实操指南-构建前端团队组件系统 (从零到一的实数有哪些)

从零到一的实操指南-构建前端团队组件系统 (从零到一的实数有哪些)

前言 随着vue/react这类以数据驱动为主的web框架的始终完善和壮大,越来越多的前端团队开局着手搭建外部的组件库。只管目前市面上曾经有很多性能弱小且完善的组件库供我们经常使用,比如基于...