嘿夥計們,你們很多人都知道上週我用golang 編寫了一個基於express js 的微型Web 框架,我沒想到這篇文章會吸引這麼多人,其中有些人你問我,下一步是什麼,我對這個框架有什麼期待?
官方儲存庫
我承認,一開始我甚至不知道接下來的步驟是什麼,也不知道我對這個框架的期望是什麼,但我花了一周的時間思考如何改進它並提出了一些想法。
第一個想法和第一步是改變專案架構,以增加專案的可擴展性我認為,這個專案的理想架構是什麼,由於某些原因我更喜歡選擇六邊形架構來實現它與專案大會一起去。但出於什麼原因呢?
核心和適配器之間的分離使框架更能適應變化。使用六邊形架構的 GopherLight:
可擴充性和演進:可以透過適配器和連接埠新增功能和功能,在不改變業務邏輯基礎的情況下演進系統。
由於我很好地模組化了框架程式碼,我們可以透過建構可根據需要替換的適配器來從六邊形設計中受益:
中間件可以開發為適配器,使得在不修改框架核心的情況下更容易添加新的中間件。
六邊形架構定義了清晰的介面和擴充點,方便第三方插件的集成,而不會有破壞主系統的風險。
這就是架構的樣子。
├──核心/
│ ├── 處理程序/
│ ├── 介面/
│
├── 港/
│ ├── 要求/
│
├── 適配器/
│ ├── 路由器/
│ ├── 插件/
│ ├── 中介軟體/
│
└── 記錄器/
我還計劃添加對代理的支持,例如Socks5,使用標準庫可以輕鬆創建新的傳輸對象、傳遞您想要的任何內容並添加代理支持,這對於可能在另一台計算機上運行的API非常有用,也許稍後來自負載平衡器甚至堡壘伺服器。
另一件非常重要的事情是文檔,我正在使用支援markdown 的astro js 範本建立文檔,所以我非常感謝任何可以幫助我完成這部分文檔的人,我想說這是其中之一最重要的部分。主要是因為新人每天都在學習這個框架,而我幾乎還沒有記錄任何東西。對於任何有興趣幫助我維護這個專案、擴展這個專案的人,我在不和諧上創建了一個伺服器,您可以在其中提供幫助、提供提示、互動和其他一切,這是連結:連結。
如果我們遵循這 3 個步驟,我們將越來越多地擴展這個框架。感謝所有閱讀本文的人。
以上是現在,下一步是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!