abp本身是乙個包含許多nuget包的模組化框架。它還提供了乙個完整的基礎架構來開發你自己的具有實體、服務、資料庫整合、 api、ui元件等等功能的應用程式模組。
每個模組都應該定義乙個模組類.定義模組類的最簡單方法是建立乙個派生自abpmodule
的類,如下所示:
public class blogmodule : abpmodule
configureservices
是將你的服務新增到依賴注入系統並配置其他模組的主要方法。例:
public class blogmodule : abpmodule
}
你可以按照microsoft的文件中的說明逐個註冊依賴項.但abp有乙個依照約定的依賴註冊系統,可以自動註冊程式集中的所有服務。有關依賴項注入系統的更多資訊,請參閱依賴項注入文件。
你也可以通過這種方式配置其他服務和模組。例:
public class blogmodule : abpmodule
); }
}
有關配置系統的更多資訊,請參閱配置(todo:link)文件。
abpmodule
類還定義了preconfigureservices
和postconfigureservices
方法用來在configureservices
之前或之後覆蓋和編寫你的**.請注意,在這些方法中編寫的**將在所有其他模組的configureservices
方法之前/之後執行。
一旦配置了所有模組的所有服務,應用程式就會通過初始化所有模組來啟動.在此階段,你可以從iserviceprovider
中獲取服務,因為這時它已準備就緒且可用。
public class blogmodule : abpmodule
}
[dependson(typeof(abpaspnetcoremvcmodule))]
}}
如果模組需要,你還可以執行啟動邏輯
在模組化應用程式中,乙個模組依賴於另乙個或幾個模組並不罕見.如果乙個abp模組依賴於另乙個模組,它必須宣告[dependson]
特性,如下所示:
[dependson(typeof(abpaspnetcoremvcmodule))]
[dependson(typeof(abpautofacmodule))]
public class blogmodule
你可以根據需要使用多個dependson
特性或將多個模組型別傳遞給單個dependson
特性。
依賴模組可能依賴於另乙個模組,但你只需要定義直接依賴項。abp在啟動時會調查應用程式的依賴關係,並以正確的順序初始化/關閉模組。
模組分為兩種型別.這兩種型別並沒有任何結構上的區別,只是按功能和用途分類:
深入淺出gstreamer開發
gstreamer 解決什麼問題?上層介面和應用方式的 相對穩定 與底層介面 平台環境的 多樣化。例如 codec 通用元件不靈活與需求的多變。色彩空間轉換 縮放 編譯碼等元件功能是單一的。通過對這些元件進行組合,就可以滿足多變的需求。要想擁有模組性 可移植性和通用的功能,通常是以極高的複雜性為代價...
深入淺出gstreamer開發
gstreamer 解決什麼問題?上層介面和應用方式的 相對穩定與底層介面 平台環境的 通用元件不靈活與需求的多變。色彩空間轉換 縮放 編譯碼等元件功能是單一的。通過對這些元件進行組合,就可以滿足多變的需求。要想擁有模組性 可移植性和通用的功能,通常是以極高的複雜性為代價。計算機系統的萬能解決辦法 ...
深入淺出sizeof
int佔 位元組,short佔 位元組 1.0 回答下列問題 答案在文章末尾 1.sizeof char 2.sizeof a 3.sizeof a 4.strlen a 如果你答對了全部四道題,那麼你可以不用細看下面關於sizeof的論述。如果你答錯了部分題目,那麼就跟著我來一起 關於sizeof...