日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go 微服务框架_清晰架构(Clean Architecture)的Go微服务

發布時間:2024/7/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go 微服务框架_清晰架构(Clean Architecture)的Go微服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

更新

我最進對這個框架進行了重大升級,雖然所做的改動不大,但成效顯著。這次更新修復了舊框架中的所有主要問題,盡管它的的主要項目結構和接口都沒有改變,具體改動內容請參見清晰架構(Clean Architecture)的Go微服務—重大升級。 現在它幾乎擁有了我理想框架中的所有內容。它是一個輕量級的框架,但功能強大,并且還是可插拔的。我寫了如下4篇文章來講述新的框架。

  • "一個可以自我進化的微服務框架"
  • "一個非侵入的Go事務管理庫——如何使用"
  • "一個非侵入的Go事務管理庫——工作原理"
  • 清晰架構(Clean Architecture)的Go微服務—重大升級
  • 如果你想上一個新的項目,那么我建議你從新的框架開始。至于我寫的講述舊的框架的文章大部分仍然有效。在新的框架中有三種模式,從簡單到復雜。舊的框架是基于第三種模式的,是最復雜的。由于新的文章只覆蓋了新的內容,舊的文章仍然需要閱讀。至于閱讀順序,是先讀新的還是先讀舊的到關系不大,如果你沒有讀過任何一篇,那么你可以從新的入手,再讀舊的。如果你已經讀了舊的,那么再讀新的,可能會對整個脈絡比較清晰。如果有些文章中有一些不一致的地方,那么以新的文章為準。改動比較多的是事務管理和日志管理,程序結構也有一些小的改動。

    原文

    我用Go和gRPC創建了一個微服務項目,并試圖找出最好的程序結構,它可以作為我其他項目的模板。我還將程序設計和編程的最佳實踐應用于Go Microservice程序,例如清晰架構(Clean Architecture),依賴注入(Dependency Injection),日志記錄,錯誤處理等。我有Java背景,并發現自己在Java和Go之間掙扎,它們之間的編程理念完全不同。我寫了一系列關于在項目工作中做出的設計決策和取舍的文章。

    閱讀這些文章不需要熟悉Go,但如果你有Go基礎絕對會有幫助。如果你不會Go并且無法確定文章中的代碼在做什么,那么你需要從這里Go by Example1(你不必完成里面的所有主題,只需要前面幾個)學習一些基本的Go。本系列中的“事務支持”涉及到數據庫,需要Go中的一些數據庫知識,你可以從Go database / sql tutorial獲取它2。如果你對Go Microservice編程感興趣并思考和關心代碼設計,程序結構,編碼風格,日志記錄,事務管理和依賴注入,那么這個系列非常適合你。

    本系列的側重點?

    本系列不是關于如何快速創建程序原型,而是關于如何進行良好的程序設計使之能適應將來的變化。例如,你可能希望將一個服務的部分功能拆分為單獨的微服務,或添加事務支持,或切換到更好的日志記錄器,但不想更改代碼中的每個日志記錄語句。運用此項目中的程序設計,在進行上述更改時不會觸及業務邏輯代碼。你甚至很少更改任何現有代碼(容器代碼除外),多數時候只添加新代碼,因此QA工作量大大減少。你可以使用此程序作為下一個微服務應用的基礎框架,省去了從頭開始的麻煩。你唯一需要做的就是熟悉本框架的內部結構。如果你有Spring(Java)背景或來自面向對象的經歷,或者知道清晰架構(Clean Architecture)或SOLID (面向對象設計),那么這些代碼應該對你很熟悉。

    你無需按以下順序閱讀文章。 如果你熟悉清晰架構(Clean Architecture)3或SOLID (面向對象設計)?,你可以按任意順序閱讀文章而不會有任何問題。 但我還是建議你至少先讀完第一篇,它將為你提供整個項目的概述,然后你可以選擇后面的任何一篇的文章。

  • 清晰架構(Clean Architecture)的Go微服務: 程序結構
  • 清晰架構(Clean Architecture)的Go微服務: 程序設計
  • 清晰架構(Clean Architecture)的Go微服務: 設計原則
  • 清晰架構(Clean Architecture)的Go微服務: 編碼風格
  • 清晰架構(Clean Architecture)的Go微服務: 事物管理
  • 清晰架構(Clean Architecture)的Go微服務: 日志管理
  • 清晰架構(Clean Architecture)的Go微服務: 程序容器(Application Container)
  • 清晰架構(Clean Architecture)的Go微服務: 依賴注入(Dependency Injection)
  • 源程序:

    完整的源程序鏈接 github: https://github.com/jfeng45/servicetmpl

    索引:

    [1] Go by Example

    [2] Go database/sql tutorial

    [3]The Clean Code Blog

    [4] S.O.L.I.D is for the first five object-oriented design (OOD) principles introduced by Robert C. Martin, popularly known as Uncle Bob and the acronym is introduced later by Michael Feathers

    總結

    以上是生活随笔為你收集整理的go 微服务框架_清晰架构(Clean Architecture)的Go微服务的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。