成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

干凈的前端架構,看完這篇讓你能夠構建更簡潔的前端架構

開發 前端
本文介紹了一個簡潔架構的例子,并概述了一些可以應用的原則。此外,還將 DDD 引入了前端架構。最后,介紹了創建組件和添加業務邏輯時的一些規則,希望這些代碼能夠保持可維護性。

干凈的前端架構,圍繞這個話題有很多原則:

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 引入了前端架構。最后,介紹了創建組件和添加業務邏輯時的一些規則,希望這些代碼能夠保持可維護性。

不過,開發人員團隊在進行代碼審查和添加新功能時必須具備較高的標準,否則清潔架構可能不足以保持可維護性。

希望這能幫助大家構建更簡潔的前端架構。

責任編輯:姜華 來源: 大遷世界
相關推薦

2022-03-01 17:34:52

前端架構代碼

2020-10-08 18:20:54

前端后端架構

2022-07-21 07:09:21

React前端項目

2023-11-20 08:12:15

2020-04-28 11:00:45

Go開源庫HTTP

2015-09-02 09:02:21

阿里無線前端架構

2022-08-19 14:06:56

前端架構技術

2025-01-09 08:30:00

JavaScript操作符前端

2023-08-20 12:37:44

前端開發

2023-09-05 23:29:49

前端Vue

2017-02-28 15:08:08

架構微服務數據庫

2022-08-08 13:24:28

整潔架構架構前端

2020-09-22 12:20:23

前端架構插件

2022-08-15 09:00:00

JavaScript前端架構

2020-01-09 15:30:32

微服務架構互聯網

2020-02-08 16:46:29

微服務架構復雜

2019-12-16 08:00:00

ReactAngularVue

2020-06-28 14:15:52

前端架構師互聯網

2017-02-05 09:13:58

PHP Cake框架構建

2022-08-18 20:45:30

HTTP協議數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一二区 | 欧美.com | 一级毛片免费完整视频 | 成人在线观看免费 | a级免费观看视频 | 亚洲第一视频网站 | 99久久免费精品国产男女高不卡 | 孰女乱色一区二区三区 | 国产一区二区中文字幕 | 亚洲综合在线视频 | 亚洲国产成人精品女人 | 一级毛片播放 | 大学生a级毛片免费视频 | 国产真实乱对白精彩久久小说 | 日本aa毛片a级毛片免费观看 | 久久精品91 | 国产最好的av国产大片 | 国产亚洲精品精品国产亚洲综合 | 国产成人一区二 | 男人天堂色 | 无码国模国产在线观看 | 日韩成人在线视频 | www.精品国产 | 久久久网 | 天天综合网天天综合色 | 国产欧美日韩一区 | 国产日韩一区二区 | 天堂中文资源在线 | 美女视频三区 | 男人的天堂久久 | 成人免费在线播放视频 | 久草在线 | 999re5这里只有精品 | 日韩看片 | 欧美激情在线播放 | 久久国产精品一区二区 | 日韩一区二区三区在线播放 | 精品视频一区二区三区在线观看 | 久久区二区| 亚洲欧美精品 | av黄色在线|