国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

簡介WPF的Prism框架

這篇具有很好參考價值的文章主要介紹了簡介WPF的Prism框架。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 什么是Prism

????????Prism是一個用于在 WPF、Xamarin Form、Uno 平臺和 WinUI 中構(gòu)建松散耦合、可維護和可測試的 XAML 應(yīng)用程序框架。

????????Prism是一個用于在WPF、Xamarin Forms、Uno Platform和WinUI中構(gòu)建松耦合、可維護和可測試的XAML應(yīng)用程序的框架。 每個平臺都有獨立的版本,它們將按照獨立的時間表開發(fā)。 Prism提供了一組設(shè)計模式的實現(xiàn),這些模式有助于編寫結(jié)構(gòu)良好和可維護的XAML應(yīng)用程序,包括MVVM、依賴注入、命令、EventAggregator等。 Prism的核心功能是。net Standard 2.0、。net Framework 4.5 / 4.7支持的共享代碼庫。 那些需要特定于平臺的內(nèi)容在目標平臺的相應(yīng)庫中實現(xiàn)。 Prism還提供了這些模式與目標平臺的良好集成。 例如,Prism For Xamarin Forms允許您使用一個單元可測試的導(dǎo)航抽象,但它是位于平臺概念和導(dǎo)航api之上的層,因此您可以充分利用平臺本身提供的功能,但是以MVVM的方式完成的。

????????Prism使用包含重要架構(gòu)設(shè)計原則(如關(guān)注點分離和松耦合)的設(shè)計模式,幫助您設(shè)計和構(gòu)建包含重要表示和業(yè)務(wù)邏輯的應(yīng)用程序,這些表示和業(yè)務(wù)邏輯通常與后端系統(tǒng)和服務(wù)交互,并使用分層架構(gòu), 可以在物理上跨多個層部署。 預(yù)計該應(yīng)用程序?qū)⒃谄渖芷趦?nèi)顯著發(fā)展,以響應(yīng)新的需求和商業(yè)機會。 簡而言之,這些應(yīng)用程序是“為持久而構(gòu)建”和“為改變而構(gòu)建”的。 不需要這些特性的應(yīng)用程序可能無法從Prism中受益。

1.1. 框架目標

????????Prism 旨在幫助您設(shè)計和構(gòu)建豐富、靈活且易于維護的 WPF 應(yīng)用程序。棱鏡圖書館實施的設(shè)計模式體現(xiàn)了重要的建筑設(shè)計原則,如關(guān)注點分離和松散耦合。使用棱鏡庫提供的設(shè)計模式和功能,您可以使用松散耦合的組件設(shè)計和構(gòu)建應(yīng)用程序,這些組件可以獨立演變,但可以輕松無縫地集成到整體應(yīng)用中。

????????Prism 設(shè)計圍繞核心建筑設(shè)計原則,即關(guān)注點分離和松散耦合。這使得Prism可以提供許多好處,包括:

  • 重復(fù)使用:Prism 通過允許輕松開發(fā)、測試和集成到一個或多個應(yīng)用程序中來促進重用。通過重復(fù)使用單元測試的組件,可以通過依賴性注入在運行時間輕松發(fā)現(xiàn)和集成,以及通過使用可在應(yīng)用程序中重復(fù)使用的應(yīng)用程序級功能封裝模塊,在應(yīng)用級別實現(xiàn)重復(fù)使用。
  • 可擴展性:Prism 通過管理組件依賴性、使組件在運行時間更容易集成或替換為替代實現(xiàn)以及提供將應(yīng)用程序分解為可獨立更新和部署的模塊的能力,幫助創(chuàng)建易于擴展的應(yīng)用程序。Prism庫本身的許多組件也可以擴展或更換。
  • 靈活性:Prism 有助于創(chuàng)建靈活的應(yīng)用程序,使它們能夠隨著新功能的開發(fā)和集成而更容易更新。Prism還允許使用共同服務(wù)和組件開發(fā) WPF 應(yīng)用程序,從而允許以最適當?shù)姆绞讲渴鸷褪褂脩?yīng)用程序。它還允許應(yīng)用程序根據(jù)角色或配置提供不同的體驗。
  • 團隊發(fā)展:Prism 通過允許單獨的團隊獨立開發(fā)甚至部署應(yīng)用程序的不同部分來促進團隊發(fā)展。Prism 有助于最大限度地減少跨團隊依賴性,并允許團隊專注于不同的功能領(lǐng)域(如 UI 設(shè)計、業(yè)務(wù)邏輯實現(xiàn)和基礎(chǔ)架構(gòu)代碼開發(fā)),或不同業(yè)務(wù)級別的功能領(lǐng)域(如簡介、銷售、庫存或物流)。
  • 質(zhì)量:Prism 通過允許對共同服務(wù)和組件進行全面測試并提供給開發(fā)團隊,有助于提高應(yīng)用程序的質(zhì)量。此外,通過提供對常見設(shè)計模式的充分測試實施,以及充分利用這些模式所需的指導(dǎo),Prism 允許開發(fā)團隊專注于其應(yīng)用要求,而不是實施和測試基礎(chǔ)架構(gòu)代碼。

1.2. 先決條件

  • XAML (Extensible Application Markup Language)[XAML(可擴展應(yīng)用標記語言)]:聲明性地定義和初始化 WPF 應(yīng)用程序中的用戶界面的語言。
  • Data binding[數(shù)據(jù)綁定]這就是 UI 元素與 WPF 中的組件和數(shù)據(jù)連接的方式。
  • Resources[資源]以下是 WPF 中創(chuàng)建和管理樣式、數(shù)據(jù)模板和控制模板的方式。
  • Commands[命令]以下是用戶手勢和輸入連接到控件的方式。
  • User controls[用戶控制]這些組件提供自定義行為或自定義外觀。
  • Dependency properties[依賴屬性]這些是通用語言運行時間 (CLR) 屬性系統(tǒng)的擴展,使屬性設(shè)置和監(jiān)控能夠支持數(shù)據(jù)綁定、路由命令和事件。
  • Behaviors[行為]行為是封裝交互式功能的對象,可輕松應(yīng)用于用戶界面中的控件。

2. 官方地址

2.1. github地址

https://github.com/PrismLibrary/Prism

????????基于Prism的VisualStudio擴展包模板: Prism Template Pack,下載它后可以快速創(chuàng)建基于Prism的項目。

2.2. 官方學(xué)習(xí)文檔:(以下推薦MSDN,微軟的)

https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff921153(v=pandp.40)

4. Prism框架內(nèi)容

????????框架中包括 MVVM、依賴注入、Command、Message Event、導(dǎo)航、彈窗等功能。

5. 基本概念

  • Modules(模塊):

????????模塊是可獨立開發(fā)、測試和(可選)部署的功能包。在許多情況下,模塊由單獨的團隊開發(fā)和維護。典型的棱鏡應(yīng)用程序由多個模塊構(gòu)建。模塊可用于表示特定的業(yè)務(wù)相關(guān)功能(例如,配置文件管理),并封裝實現(xiàn)該功能所需的所有視圖、服務(wù)和數(shù)據(jù)模型。模塊還可用于封裝可用于多個應(yīng)用程序重復(fù)使用的常見應(yīng)用程序基礎(chǔ)架構(gòu)或服務(wù)(例如,記錄和例外管理服務(wù))。

  • Module catalog(模塊目錄):

????????在復(fù)合應(yīng)用程序中,模塊必須由主機應(yīng)用程序在運行時間發(fā)現(xiàn)并加載。在 Prism 中,模塊目錄用于指定要加載的模塊、加載時間以及按什么順序加載。模塊目錄由模塊經(jīng)理和模塊加載器組件使用,它們負責(zé)在模塊處于遠程時下載模塊,將模塊的組件加載到應(yīng)用程序域中,并初始化模塊。Prism 允許以不同的方式指定模塊目錄,包括程序化地使用代碼、聲明性地使用 XAML 或使用配置文件。如果需要,您也可以實施自定義模塊目錄。

  • Shell(殼):

????????外殼是主機應(yīng)用程序,可加載模塊。外殼定義了應(yīng)用程序的整體布局和結(jié)構(gòu),但它通常不知道它將托管的確切模塊。它通常實現(xiàn)通用應(yīng)用程序服務(wù)和基礎(chǔ)架構(gòu),但應(yīng)用程序的大部分功能和內(nèi)容都實現(xiàn)在模塊中。外殼還提供頂層窗口或視覺元素,然后托管加載模塊提供的不同 UI 組件。

  • Views(視圖):

????????視圖****是 UI 控件,可將 UI 封裝為應(yīng)用程序的特定功能或功能區(qū)域。視圖與 MVVM 模式一起使用,該模式用于將 UI 與應(yīng)用程序的演示邏輯和數(shù)據(jù)之間的問題進行徹底分離。視圖用于封裝 UI 并定義用戶交互行為,從而允許獨立于基礎(chǔ)應(yīng)用功能更新或替換視圖。視圖使用數(shù)據(jù)綁定與視圖模型類進行交互。

  • View models(視圖模型):

????????視圖模型是封裝應(yīng)用程序演示邏輯和狀態(tài)的類。它們是 MVVM 模式的一部分。查看模型封裝了應(yīng)用程序的大部分功能。查看模型定義屬性、命令和事件,視圖中的控件可以將這些屬性、命令和事件與數(shù)據(jù)綁定在一起。

  • Models(模型):

????????模型類封裝應(yīng)用程序數(shù)據(jù)和業(yè)務(wù)邏輯。它們用作 MVVM 模式的一部分。模型封裝數(shù)據(jù)以及任何相關(guān)的驗證和業(yè)務(wù)規(guī)則,以確保數(shù)據(jù)一致性和完整性。

  • Commands(命令):

????????命令用于封裝應(yīng)用程序功能,使其能夠獨立于應(yīng)用程序的 UI 進行定義和測試。它們可以定義為命令對象或視圖模型中的命令方法。棱鏡提供代表委員會類和復(fù)合通信類。后者用于表示所有一起調(diào)用的命令集合。

  • Regions(區(qū)域):

????????命令用于封裝應(yīng)用程序功能,使其能夠獨立于應(yīng)用程序的 UI 進行定義和測試。它們可以定義為命令對象或視圖模型中的命令方法。棱鏡提供代表委員會類和復(fù)合通信類。后者用于表示所有一起調(diào)用的命令集合。

  • Navigation(導(dǎo)航):

????????導(dǎo)航定義為應(yīng)用坐標因用戶與應(yīng)用程序的交互或內(nèi)部應(yīng)用狀態(tài)更改而更改到其 UI 的過程。棱鏡支持兩種導(dǎo)航樣式:基于狀態(tài)的導(dǎo)航,其中對現(xiàn)有視圖的狀態(tài)進行更新以實現(xiàn)簡單的導(dǎo)航方案,以及創(chuàng)建新視圖并在應(yīng)用程序 UI 中替換舊視圖的視圖切換導(dǎo)航。視圖切換導(dǎo)航使用基于統(tǒng)一資源標識符 (URI) 的導(dǎo)航機制與棱鏡區(qū)域相結(jié)合,以便實施靈活的導(dǎo)航方案。

  • EventAggregator(事件聚合器):

????????復(fù)合應(yīng)用程序中的組件通常需要以松散耦合的方式與應(yīng)用程序中的其他組件和服務(wù)進行通信。為了支持這一點,Prism 提供了事件聚合器組件,該組件實施了酒吧子事件機制,從而允許組件發(fā)布事件和其他組件來訂閱這些事件,而不需要提及其他事件。事件聚合器通常用于允許在不同模塊中定義的組件相互通信。

  • Dependency injection container(依賴性注射容器):

????????復(fù)合應(yīng)用程序中的組件通常需要以松散耦合的方式與應(yīng)用程序中的其他組件和服務(wù)進行通信。為了支持這一點,Prism 提供了事件聚合器組件,該組件實施了酒吧子事件機制,從而允許組件發(fā)布事件和其他組件來訂閱這些事件,而不需要提及其他事件。事件聚合器通常用于允許在不同模塊中定義的組件相互通信。

  • Services(服務(wù)):

????????服務(wù)是封裝非 UI 相關(guān)功能的組件,例如記錄、異常管理和數(shù)據(jù)訪問。服務(wù)可以通過應(yīng)用程序或模塊內(nèi)定義。服務(wù)通常在依賴性注射容器中注冊,以便根據(jù)需要定位或構(gòu)建,并由依賴它們的其他組件使用。

  • Controllers(控制器):

????????控制器是用于協(xié)調(diào)在應(yīng)用程序 UI 區(qū)域內(nèi)顯示的意見的構(gòu)建和初始化的類??刂破鞣庋b了確定要顯示哪些視圖的演示邏輯??刂破鲗⑹褂?Prism 的視圖切換導(dǎo)航機制,該機制提供可擴展的 URI 導(dǎo)航機制,以協(xié)調(diào)區(qū)域內(nèi)意見的構(gòu)建和放置。應(yīng)用控制器模式定義了一個抽象概念,該抽象圖映射到此責(zé)任。文章來源地址http://www.zghlxwxcb.cn/news/detail-449631.html

  • Bootstrapper(引導(dǎo)器):

????????控制器是用于協(xié)調(diào)在應(yīng)用程序 UI 區(qū)域內(nèi)顯示的意見的構(gòu)建和初始化的類??刂破鞣庋b了確定要顯示哪些視圖的演示邏輯??刂破鲗⑹褂?Prism 的視圖切換導(dǎo)航機制,該機制提供可擴展的 URI 導(dǎo)航機制,以協(xié)調(diào)區(qū)域內(nèi)意見的構(gòu)建和放置。應(yīng)用控制器模式定義了一個抽象概念,該抽象圖映射到此責(zé)任。

到了這里,關(guān)于簡介WPF的Prism框架的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于Prism框架的WPF前端框架開發(fā)《知產(chǎn)代理數(shù)字化解決方案》

    基于Prism框架的WPF前端框架開發(fā)《知產(chǎn)代理數(shù)字化解決方案》

    最近新開發(fā)了一套WPF前端界面框架,叫《知產(chǎn)代理數(shù)字化解決方案》,采用了時下流行的Prism框架作為整個系統(tǒng)的基礎(chǔ)架構(gòu),演示了Prism中的IRegionManager區(qū)域管理器、IDialogAware對話框、IDialogService對話框服務(wù)、IContainerExtension容器等用法。 系統(tǒng)對常用的控件進行了模板和樣式開發(fā)

    2024年01月19日
    瀏覽(24)
  • 【.NET6+WPF】WPF使用prism框架+Unity IOC容器實現(xiàn)MVVM雙向綁定和依賴注入

    【.NET6+WPF】WPF使用prism框架+Unity IOC容器實現(xiàn)MVVM雙向綁定和依賴注入

    前言:在C/S架構(gòu)上,WPF無疑已經(jīng)是“桌面一霸”了。在.NET生態(tài)環(huán)境中,很多小伙伴還在使用Winform開發(fā)C/S架構(gòu)的桌面應(yīng)用。但是WPF也有很多年的歷史了,并且基于MVVM的開發(fā)模式,受到了很多開發(fā)者的喜愛。 并且隨著工業(yè)化的進展,以及幾年前微軟對.NET平臺的開源,國內(nèi)大多

    2024年02月06日
    瀏覽(28)
  • Nlog&Prism&WPF

    Nlog&Prism&WPF

    介紹了為WPF框架Prism注冊Nlog日志服務(wù)的方法 無論是在WPF或者ASP.NET Core當中, 都可以使用ServiceCollection來做到著一點, 因為日志框架都提供了IServiceCollection的擴展。 但是, 如果現(xiàn)在你使用的是Prism 8.0的應(yīng)用程序, Prism提供了多種容器的支持, 例如:DryIoc或者Unity, 這個時候我們?nèi)绻F(xiàn)

    2024年02月07日
    瀏覽(22)
  • WPF Prism的簡單使用

    新建 WPF 項目,我是基于 .net 5.0-windows 創(chuàng)建的。 引入 Prism.DryIoc(8.1.97) 的 Nuget 包。 App.xaml 中引入命名空間。 將 App.xaml 中 Application 標簽更改成 prism:PrismApplication 并去除 StartUri 屬性,將 App.xaml.cs 中 Application 更改成 PrismApplication 。 實現(xiàn) PrismApplication (實際上是 PrismApplicationBas

    2023年04月14日
    瀏覽(17)
  • WPF中prism模塊化

    WPF中prism模塊化

    1、參照(wpf中prism框架切換頁面-CSDN博客)文中配置MainView和MainViewModel 2、模塊其實就是引用類庫,新建兩個類庫ModuleA ModuleB,修改輸出類型為類庫,并配置以下文件: ModuleA == ModuleAProfile? ?ModuleB == ModuleBProfile? 名字要對應(yīng) 3、 ModuleA ModuleB中安裝包:?Prism.DryIoc(搜Prism.DryIoc找

    2024年02月07日
    瀏覽(28)
  • WPF+Prism 模塊化編程(一)

    WPF+Prism 模塊化編程(一)

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 1、新建WPF項目,創(chuàng)建基于 .NET Framework 框架的應(yīng)用程序,項目名稱為 PrismModelDemo,創(chuàng)建步驟如下所示。 項目創(chuàng)建完成后,新建Views文件夾和ViewModels 文件夾,移動 MainWindow.xaml 至 Views文件下,在ViewModels文件中

    2024年04月09日
    瀏覽(103)
  • wpf prism左側(cè)抽屜式菜單

    wpf prism左側(cè)抽屜式菜單

    1.首先引入包MaterialDesignColors和MaterialDesignThemes 2.主頁面布局 左側(cè)菜單顯示在窗體外,點擊左上角菜單圖標通過簡單的動畫呈現(xiàn)出來 3.左側(cè)窗體外菜單 這里頭像的圖片寫死了,需要的自己替換。 4.菜單樣式 5.主頁面事件 6.主頁面內(nèi)容 7.后臺C#代碼 RegionName 對應(yīng)每一個創(chuàng)建Contr

    2024年03月11日
    瀏覽(20)
  • wpf 項目中使用 Prism + MaterialDesign

    wpf 項目中使用 Prism + MaterialDesign

    ? 1.通過nuget安裝MaterialDesign ?2.通過nuget安裝Prism 3.修改App.xmal ?紅色矩形框是需要更改的地方 ?3.修改app.xmal.cs文件 修改紅色矩形框中的內(nèi)容? ?至此,編譯不出錯,就算是好了 這時會出現(xiàn)兩個窗體 記得刪除??StartupUri=\\\"MainWindow.xaml\\\"即可

    2024年02月14日
    瀏覽(19)
  • Wpf 使用 Prism 實戰(zhàn)開發(fā)Day19

    Wpf 使用 Prism 實戰(zhàn)開發(fā)Day19

    由于待辦事項功能頁,數(shù)據(jù)已正常渲染出來了。但頁面新增,查詢,修改,刪除等功能還未實現(xiàn)。本章節(jié)來實現(xiàn)頁面的請求后臺實現(xiàn)CURD(增刪改查) 根據(jù)渲染出來的待辦事項,點擊對應(yīng)的待辦事項時,查找出該條數(shù)據(jù),顯展示在編輯窗口中。 同時在搜索框中輸入的參數(shù)或選

    2024年04月23日
    瀏覽(25)
  • WPF使用Prism新開窗體regionManager處理

    如果我們需要使用prism彈出一個新的提示窗體可以這樣寫 但是這樣寫新窗體注入的regionManager還是原來父窗體的regionManager對象。利用這個對象進行視圖注入也可以操作,但是會導(dǎo)致一些奇怪的問題,比如在regionManager.Regions里找不到新加的Region。 此處新窗體的構(gòu)造函數(shù)需要做如

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包