iT邦幫忙

1

新手 IT 關於ABP的問題

2022-09-04 21:51:211338 瀏覽
  • 分享至 

  • xImage

今年嘗試轉職後端,
由於之前學習的後端語言是 PHP,所以對 C# 這語言很陌生,
上網自學很多地方都很模糊,公司近期又較忙,
所以才發文來請請教各位大大


非常抱歉,許多東西我都搜尋過,不過還是沒能找到讓我清楚理解的答案

1. ddd 是什麼?我該怎麼去理解?
2. abp 到底是什麼樣的存在,能做到什麼事情?
3. 公司有購買 ABP Suite ( 商務版? ),使用後能直接建立簡易的 CRUD API,這樣後續如果想新增一個自定義 API 我該從哪裡下手修改?
4. abp 所用的似乎是 IIS 網頁服務器,那麼能改嗎?改成 Apache 、Nginx 之類的?
5. abp 裡面中的租戶、版本、角色、使用者、Api scopes、Api資源、Identity資源、客戶等這些又是代表甚麼意思?

有什麼推薦的書籍或課程能幫助我更快上手,感謝各位大神.../images/emoticon/emoticon41.gif

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-01-21 12:28:45
最佳解答
  1. ddd 是什麼?我該怎麼去理解?

ddd 是什麼? DDD (Domain-Driven Design) 是一種軟件設計方法論,它強調將業務領域的知識和概念映射到系統架構和設計中。 DDD 的目的是通過清晰的模型來提高軟件的可理解性、可維護性和可擴展性。

我該怎麼去理解? DDD 是一種設計思維,主要是透過深入了解領域,來指導設計和開發,確保系統貼近領域的需求,提高系統的可理解性、可維護


  1. abp 到底是什麼樣的存在,能做到什麼事情?

ABP (Asp.Net Boilerplate) 是一個開源的應用框架,旨在為企業級的 .NET 應用程序開發提供一個統一的架構。它提供了許多功能和工具,可以幫助開發人員更快速、高效地開發高質量的應用程序。

ABP 提供了以下主要功能:

  • 架構: ABP 提供了一個統一的架構,可以幫助開發人員更好地組織代碼,並且減少重複的工作。
  • 資料存儲: ABP 提供了一個統一的資料存儲層,可以幫助開發人員更好地管理資料。
  • 商業邏輯: ABP 提供了一個統一的商業邏輯層,可以幫助開發人員更好地管理邏輯。
  • Web API: ABP 提供了一個統一的 Web API 層,可以幫助開發人員更好地管理 API。
  • 前端: ABP 提供了一個基於Angular的前端框架,可以幫助開發人員更快速開發高質量的前端頁面。
  • 權限控制: ABP 提供了一個權限管理系統,可以幫助開發人員更好地控制用戶訪問權限。
  • 多語言: ABP 提供了一個多語言管理

  1. 公司有購買 ABP Suite ( 商務版? ),使用後能直接建立簡易的 CRUD API,這樣後續如果想新增一個自定義 API 我該從哪裡下手修改?
  1. 商業邏輯層: 你可以在商業邏輯層中新增自定義方法,並且在 Web API 層中調用這些方法。
  2. Web API 層: 你可以在 Web API 層中新增自定義控制器,並且在這個控制器中新增自定義 Action。
  3. 資料存儲層: 如果你需要自定義資料存儲邏輯,你可以在此層中新增自定義的Repository。
  4. 前端:如果你需要新增自定義的頁面或控件,你可以在前端框架中新增自定義的組件。

記得每次修改之後測試你的修改是否有影響原有的功能。


  1. abp 所用的似乎是 IIS 網頁服務器,那麼能改嗎?改成 Apache 、Nginx 之類的?

ABP 是基於 ASP.NET Core 構建的,因此默認使用 IIS 作為 Web 服務器。但是,ASP.NET Core 可以運行在多種不同的 Web 服務器上,包括 IIS、Apache、Nginx 等。

如果你想要使用 Apache 或 Nginx 之類的其他 Web 服務器來運行 ABP 應用程序,可以使用 ASP.NET Core 提供的 Kestrel Web 服務器。 Kestrel 是一種輕量級的、高性能的 Web 服務器,可以作為 ASP.NET Core 應用程序的前端 Web 服務器,接收客戶端請求並將其轉發給應用程序進行處理。

需要注意的是,如果使用 Apache 或 Nginx 作為前端代理服務器,需要配置反向代理,將客戶端請求轉發給 Kestrel 進行處理。

在配置之前還需要研究一下Apache或Nginx的相關知識,還需要了解Kestrel的相關知識以及配置方法。


  1. abp 裡面中的租戶、版本、角色、使用者、Api scopes、Api資源、Identity資源、客戶等這些又是代表甚麼意思?
  • 租戶(Tenant): 用於在多租戶環境中管理用戶和數據的概念。每個租戶都有自己的用戶、數據和配置。
  • 版本(Version): 用於在不同版本之間管理數據和功能的概念。
  • 角色(Role): 用於定義用戶的訪問權限的概念。
  • 使用者(User): 用於表示系統中的個人用戶的概念。
  • Api scopes: 用於定義在 OAuth2 和 OpenID Connect 環境中的資源訪問權限的概念。
  • Api資源(Api Resource): 用於定義在 OAuth2 和 OpenID Connect 環境中可以訪問的 API 的概念。
  • Identity資源(Identity Resource): 用於定義在 OAuth2 和 OpenID Connect 環境中可以訪問的身份資訊的概念。
  • 客戶(Client): 用於定義在 OAuth2 和 OpenID Connect 環境中可以訪問 API 的客戶端應用程序的概念。
iT邦新手 3 級 ‧ 2023-02-10 13:53:53 檢舉

謝謝大神

我要發表回答

立即登入回答