日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

C# WPF MVVM开发框架Caliburn.Micro View / View Model 命名⑨

發(fā)布時(shí)間:2023/12/4 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# WPF MVVM开发框架Caliburn.Micro View / View Model 命名⑨ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

01

約定

在收到Caliburn Micro中有關(guān)視圖和ViewModel解析的反饋后,我們添加了新功能,以簡(jiǎn)化類型解析,同時(shí)保持驅(qū)動(dòng)它的健壯的基于正則表達(dá)式的名稱轉(zhuǎn)換機(jī)制。為了更好地了解這些新功能以及類型解析通常如何在框架中工作,現(xiàn)在是詳細(xì)描述框架支持的開箱即用的命名約定的適當(dāng)時(shí)機(jī)。您現(xiàn)在應(yīng)該已經(jīng)知道,框架很大程度上依賴于命名約定,在類型解析中,需要考慮兩種不同的命名約定:命名類型本身的約定和命名類型命名空間的約定。

類型名稱的命名約定

如本文檔其他部分所述,視圖及其伴生ViewModel最常見的命名約定如下所示:

因?yàn)槲覀冋J(rèn)識(shí)到“視圖”是一個(gè)抽象的術(shù)語(yǔ),大多數(shù)應(yīng)用程序的主要“視圖”實(shí)際上是某種“頁(yè)面”,所以我們認(rèn)為框架將“頁(yè)面”作為“視圖”的同義詞是很重要的。因此,該框架對(duì)該用例具有內(nèi)置支持:

如果仔細(xì)檢查,您會(huì)發(fā)現(xiàn)上面兩個(gè)約定之間存在細(xì)微的差異?!癡iewModel”只是簡(jiǎn)單地添加到一個(gè)帶有后綴名的“頁(yè)面”中,以生成其ViewModel的名稱。但是,只有“模型”添加到“視圖”后綴名中,以生成其伴生ViewModel的名稱。這種差異主要源于將某些東西命名為“MainViewModel”而不是“MainPageViewModel”的語(yǔ)義尷尬。因此,從“視圖”后綴視圖名稱派生的視圖模型的命名約定通過將視圖模型命名為“MainViewModel”來避免冗余。

框架支持的標(biāo)準(zhǔn)命名約定的一個(gè)限制是,沒有考慮到英語(yǔ)中的不同語(yǔ)言甚至不同術(shù)語(yǔ)。盡管“視圖”和“視圖模型”可以被普遍理解,因?yàn)樗鼈兌际荂aliburn Micro致力于的MVVM設(shè)計(jì)模式的重要方面,但“頁(yè)面”這樣的詞卻不是。因此,一個(gè)健壯的框架至少允許通過定制來支持額外的“視圖名稱后綴”(例如“Pagina”、“Seite”、“Form”、“Screen”)。

多視圖支持的命名約定

如文檔約定部分所述,該框架旨在處理ViewModel和View之間的一對(duì)多關(guān)系??蚣苤С值臉?biāo)準(zhǔn)公約如下:

如前一節(jié)所述,ViewModel的名稱可能包含也可能不包含“視圖”后綴。這就是為什么顯示為可選的原因。

類型的命名空間的命名約定

在.NET開發(fā)中,所有程序集都必須有一個(gè)默認(rèn)命名空間。因此,最基本的用例中,視圖和視圖模型組件層都位于同一個(gè)用例中。這項(xiàng)公約可描述如下:

雖然許多應(yīng)用程序的所有視圖和視圖模型都可能位于單個(gè)部件中,但通常的做法是在項(xiàng)目中的單獨(dú)文件夾中組織視圖和視圖模型。因此,默認(rèn)情況下,VisualStudio將把組件放在與這些文件夾相對(duì)應(yīng)的單獨(dú)名稱空間中。由于項(xiàng)目文件夾類似于操作系統(tǒng)文件夾,因此項(xiàng)目子文件夾也可以嵌套在多層中。此常見用例的命名空間命名約定可以描述如下:

盡管上面的約定涵蓋了嵌套名稱空間的深度方面的許多可能性,但它確實(shí)在視圖和視圖模型的組織方案中假設(shè)了一種并行結(jié)構(gòu)。此外,將視圖和視圖模型放置到單獨(dú)的部件中也是很常見的,這使得跨不同部件進(jìn)行并行組織的可能性更小。

02

最后

原文標(biāo)題:Caliburn.Micro Xaml made easy

原文鏈接:https://caliburnmicro.com/documentation/naming-conventions

翻譯:dotnet編程大全

C#技術(shù)群?:?添加小編微信mm1552923,備注:進(jìn)群!

總結(jié)

以上是生活随笔為你收集整理的C# WPF MVVM开发框架Caliburn.Micro View / View Model 命名⑨的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。