簡體   English   中英

如何正確遷移 Node.js 項目

[英]How to properly migrate Node.js project

我們有一個大型 Nodejs 項目,我們覺得無法再擴展了。 這是由於匆忙決定提出新的模型、屬性和請求處理程序只是為了響應客戶的需求。

現在,我們到了代碼結構讓我們慢下來的地步。 那時我們決定重構現有代碼。 問題是我們有兩個獨立的客戶端處理真實的人數據。

我被要求為從舊代碼結構遷移到新的更具可擴展性的結構制定一個計划,當然不會影響客戶端。

這是我的想法:

  • 創建一個名為 v2 的新分支並重新開始(簡單,簡單,但緩慢)
  • 留在同一個分支上,創建一個名為 v2 的新文件夾,並在那里一個一個地創建新模塊。 然后,用新的調用更新前端。
  • 保持在同一個分支上,使用相同的代碼,但在routes下為新端點創建一個新文件夾,並向 controller 和服務添加新方法。

我對此感到非常失落。 我不知道我想到的東西是否有用。

人們如何在不影響產品的情況下從一個版本遷移到另一個版本?

也許答案已經晚了,我認為您希望通過堅持相同的行為來使您的項目具有可擴展性,並記住相同的行為將導致相同的結果。

您的項目達到了您的代碼無法再擴展的水平,這可能是因為做出了錯誤的決定,所以請不要重復這一點,或者您的項目可能由於性能問題而無法擴展。

如果您的問題與代碼組織有關,您需要找到另一種思維方式。

正如我所看到的,您目前擁有的是一個三層架構,它在代碼擴展方面有一些限制

取而代之的是,您可以擁有類似 4 層架構的東西,這將幫助您以更干凈的方式定義業務邏輯並將其封裝在域層中

此架構代碼是以下之一:

  • 干凈的架構
  • 洋蔥架構
  • 六邊形結構

您可以了解有關這些架構的更多信息,Oncle Bon 在這里很好地解釋了干凈的架構

您還可以考慮領域驅動設計,這將幫助您更多地思考您的領域問題並以一種好的方式定義您的領域邊界

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM