女装网站模板,12个优秀的平面设计素材网站,网站百度排名提升,成都公司注册流程及费用目录
为什么需要前端架构#xff1f;
那么#xff0c;前端架构是什么样的呢#xff1f;
使用了哪些层#xff1f;
那么#xff0c;这种架构会出什么问题呢#xff1f;
我们应该如何避免这些错误#xff1f;
哪些原则应适用于组件#xff1f;
Anti-Patterns 反模…目录
为什么需要前端架构
那么前端架构是什么样的呢
使用了哪些层
那么这种架构会出什么问题呢
我们应该如何避免这些错误
哪些原则应适用于组件
Anti-Patterns 反模式
总结
介绍一款JavaSpringbootVue的前端框架 干净的前端架构,围绕这个话题有很多原则 SOLID、KISS保持简单明了、DRY不要重复自己、DDD领域驱动设计等等。 为什么需要前端架构
功能性和非功能性的要求不仅应该在后端应用还应该在前端应用。因此有了前端架构我们就能满足业务需求。此外我们能够更好地理解项目的复杂性从而降低项目的风险、时间和成本。然而作者认为前端架构的最有价值的原因是任何项目的可维护性和可扩展性。
那么前端架构是什么样的呢
根据作者的经验大多数时候都使用分层架构。但是也会有一些项目采用了六边形架构。
下图简单地描绘了一个TripAgency项目。 使用了哪些层
API由 Open-API 生成器生成的DTO和服务服务包括映射器DTO到前端模型反之亦然和使用 REST 端点与 API 通信的服务存储包含从服务层检索到的所有数据Booking包括模型和组件在内的领域。智能组件 Smart-Components直接与商店互动而哑组件Dumb components只是可以在多个上下文中应用的组件因此要简单得多。
那么这种架构会出什么问题呢
那么如果没有定义规则开发人员就可能直接在其组件中使用 DTO或者在没有存储的情况下与服务层通信。或者更糟糕的是哑组件会与服务层对话。
我们应该如何避免这些错误
只需定义一些规则来防止这种情况发生即可。最常见的方法之一就是在项目中引入 Bit 或 Nx。
什么是 Bit什么是 Nx Bit 和 Nx 是功能强大的开源构建系统可提供用于提高开发人员工作效率、优化 CI 性能和维护代码质量的工具和技术 因此在使用 Bit 或 Nx 时我们可能会应用依赖规则。因此如果使用了错误的层开发人员就会出错。
我们可以将一些 DDD域驱动设计概念应用到我们的 Booking 域中。因此我们将预订域划分为一些子域。每个子域都有自己的边界上下文和泛在语言。如下图所示。 每个子域使用分层架构这些子域之间的交互使用 API。功能包括智能组件和服务、用户界面UI、哑组件、域模型和 Util 所有实用功能这些功能都在此边界上下文中使用。我们已经很接近了但还没到那一步。仅有架构是不够的底层组件和业务逻辑也必须使用清洁代码原则。因此让我们放大功能层和用户界面层。
哪些原则应适用于组件
首先是 SOLID 原则。每个组件必须只有一个责任单一责任原则。使用组合而非继承开放-封闭原则。不要强迫组件实现不合适的接口这意味着并非所有方法都有意义接口隔离。
其次在将业务逻辑应用到组件、服务或 Util 时不要忘记 KISS 原则。代码要尽可能简短。为什么要这样做呢更简单的代码更容易维护。
第三尽量不要重复DRY 原则。将常用逻辑移至实用工具或服务中。 注这些原则可以通过使用 Bit 轻松实现。在 Bit 工作区内我们可以独立构建、测试、版本控制和记录可重复使用的组件函数、用户界面元素或数据模型然后将其发布到 Bit 的组件共享平台在该平台上你或其他人可以轻松地将其导入到多个项目中。 听起来很有道理。然而如何才能知道哪些是应该避免的呢简而言之什么是反模式
Anti-Patterns 反模式
有一些比较常见的错误
导入不必要的库增大捆绑包大小使用嵌套订阅在模板中添加业务逻辑未经测试的业务逻辑
所以这些都是反模式。但如何确保代码的可维护性呢大家可能都知道业务逻辑会随着时间的推移而增长。简而言之经常会听到以下说法。 代码有了历史性的发展。起初它是 干净代码Clean Code但现在我们的代码已经无法像以前那样容易维护了。 是的这是一个非常常见的问题。不过以下简单的规则可以帮助我们保持可维护性。
定义eslint规则使用stylelint测试业务逻辑构建小型可重用的组件使用ES6和Typescript功能
总结
本文介绍了一个简洁架构的例子并概述了一些可以应用的原则。此外还将 DDD 引入了前端架构。最后介绍了创建组件和添加业务逻辑时的一些规则希望这些代码能够保持可维护性。
不过开发人员团队在进行代码审查和添加新功能时必须具备较高的标准否则清洁架构可能不足以保持可维护性。
希望这能帮助大家构建更简洁的前端架构。
介绍一款JavaSpringbootVue的前端框架
这是一款基于SpringBootVue的前后端分离的项目麻雀虽小五脏俱全开箱即用
JNPF开发平台的前端采用Vue.js这是一种流行的前端JavaScript框架用于构建用户界面。Vue.js具有轻量级、可扩展性强和生态系统丰富等特点被广泛应用于构建单页面应用程序。
后端采用SpringBoot这是一种基于Java的开源框架用于简化Spring应用的初始搭建以及开发过程。SpringBoot通过自动配置和约定大于配置的原则简化了Spring应用的配置和开发。此外JNPF还采用MyBatis-Plus作为持久层框架它是一个功能强大的MyBatis扩展可以大大简化数据库操作的开发。 核心功能表单引擎、可视化引擎、BI引擎、流程引擎、权限引擎、门户引擎、大屏引擎、接口中心、物联平台。
如果你现在对软件开发感兴趣JNPF 可以提供了一个相当优秀的土壤。它是一个适合所有水平的用户的低代码学习平台无论是有经验的开发者还是编程新手都可以在这里找到适合自己的学习路径。
尝试自己开发一个应用应用地址https://www.jnpfsoft.com/?csdn