(Translated by https://www.hiragana.jp/)
MVVM - 維基百科,自由的百科全書 とべいたり內容

MVVM

本頁使用了標題或全文手工轉換
維基百科ひゃっか自由じゆうてき百科全書ひゃっかぜんしょ

MVVMModel–view–viewmodelいちしゅ軟體構模しき

MVVMゆうじょ於將圖形ずけい使用しようしゃかいめんてき開發かいはつあずか業務ぎょうむ邏輯ある後端こうたん邏輯(資料しりょう模型もけいてき開發かいはつ分離ぶんりひらけらい,這是通過つうか標示ひょうじげんあるGUIだい實現じつげんてき。MVVMてき模型もけいいち轉換てんかん[1] 這意あじちょ模型もけいせめしたがえ模型もけいちゅう暴露ばくろ轉換てんかん資料しりょう對象たいしょう,以便けい管理かんりていげん對象たいしょうざい這方めん模型もけい做得さらおおなみ處理しょり大部たいぶ

ぶんてき顯示けんじ邏輯。[1] 模型もけい實現じつげんちゅうかいしゃしき組織そしきたいしょ支援しえんてき用例ようれいしゅうてき後端こうたん邏輯てき訪問ほうもん

MVVM馬丁ばてい·ぶくてきPM(Presentation Model設計せっけいしきてき變體へんたい[2][3] MVVM以相どうてき方式ほうしき抽象ちゅうしょうてき狀態じょうたい行為こうい[3] ただしPM以依賴いらい特定とくてい使用しようしゃかいめん平台ひらだいてき方式ほうしき抽象ちゅうしょう建立こんりゅうりょう模型もけい)。
MVVMPMMVCしき

MVVMゆかりほろ構師Ken CooperTed Peters開發かいはつ通過つうか利用りようWPFほろ.NET圖形ずけい系統けいとうSilverlight(WPFてきもうぎわもう應用おうよう衍生ひんてき特性とくせいらい簡化使用しようしゃかいめんてき事件じけん驅動くどうほどしき設計せっけい[3] ほろ軟的WPFSilverlight構師いちJohn Gossman於2005ねんざいてき部落ぶらくかくじょう發表はっぴょうりょうMVVM。

MVVM也被たたえためmodel-view-binder特別とくべつざいわたる及.NET平台ひらだいてき實現じつげんちゅうZK(JavaうつしてきいちWeb應用おうようかまちKnockoutJSいちJavaScriptくら使用しようmodel-view-binder。[3][4][5]

MVVMしきてき組成そせい部分ぶぶん

[編輯へんしゅう]
模型もけい
模型もけいゆび代表だいひょう真實しんじつ狀態じょうたい內容てき領域りょういき模型もけい物件ぶっけんしるべむこう),あるゆび代表だいひょう內容てき資料しりょう訪問ほうもんそう(以資料しりょうため中心ちゅうしん)。
就像ざいMVCMVPしきちゅういちよう使用しようしゃざいぼたるまくじょういたてき結構けっこうぬのきょく外觀がいかん(UI)。[6]
模型もけい
模型もけい暴露ばくろ公共こうきょう屬性ぞくせい命令めいれいてきてき抽象ちゅうしょう。MVVMぼつゆうMVCしきてきひかえせい,也沒ゆうMVPしきてきpresenter,ゆうてきいち繫結ざい模型もけいちゅう,繫結ざい資料しりょう繫結英語えいごData bindingこれあいだ進行しんこうどおり訊。[7]
繫結
聲明せいめいせい資料しりょう命令めいれい繫結かくれ含在MVVMしきちゅうざいMicrosoft解決かいけつ方案ほうあんうずたか英語えいごsolution stackなか,繫結いちしゅめいためXAMLてき標記ひょうきしきげん[8] 繫結使開發かいはつ人員じんいんめん於被はさまへんうつしさまいたしき邏輯どう模型もけいざいほろ軟的うずたかこれがい實現じつげん聲明せいめいせい資料しりょう繫結技術ぎじゅつてき出現しゅつげん實現じつげん該模しきてきいちせきかぎいんもと[4][9]

理論りろん基礎きそ

[編輯へんしゅう]

MVVMむねざい利用りようWPFちゅうてき資料しりょう繫結はこしき通過つうかしたがえそうちゅういく乎刪じょ所有しょゆうGUIだい碼(だい碼隱ぞう),さら好地こうち促進そくしんそう開發かいはつあずかしき其餘部分ぶぶんてき分離ぶんり[10] 需要じゅよう使用しようしゃ體驗たいけん(UX)開發かいはつ人員じんいんへんうつしGUIだい碼,們可以使用しようかまち標記ひょうきしきげん(如XAML),なみ建立こんりゅういた應用おうようほどしき開發かいはつ人員じんいんへんうつし維護てき模型もけいてき資料しりょう繫結。かくしょくてき分離ぶんり使とく互動設計せっけい以專ちゅう使用しようしゃ體驗たいけん需求,而不たい業務ぎょうむ邏輯進行しんこうへんほど。這樣,應用おうようほどしきてきそう以在工作こうさくりゅうちゅう進行しんこう開發かいはつ以提だか生產せいさんりょくそく使つかい一個開發人員在整個代碼庫上工作,あずか模型もけいてき適當てきとう分離ぶんり也會さらだかこういんためもと於終はし使用しようしゃかい饋,使用しようしゃかいめん通常つうじょうざい開發かいはつ周期しゅうきちゅう經常けいじょう發生はっせい變化へんか,而且しょ開發かいはつ周期しゅうき後期こうき

MVVMしきためし獲得かくとくMVC提供ていきょうてきこうのうせい開發かいはつ分離ぶんりてき兩個りゃんこゆうてん同時どうじ利用りよう資料しりょう繫結てき優勢ゆうせい通過つうか繫結資料しりょうてきかまち可能かのう接近せっきんじゅん應用おうようほどしき模型もけい[10][11][12]使用しよう繫結模型もけいかずつとむなに業務ぎょうむそうてき資料しりょうけん查功のうらいけんしょうでんいれてき資料しりょう結果けっか模型もけいかまち驅動くどう可能かのうてき操作そうさしょうじょある最小さいしょう直接ちょくせつ操縱そうじゅうてき應用おうようほどしき邏輯(如代碼隱ぞう)。

MVVMしき不同ふどう於MVC,ざいMVVMしきちゅうはたViewModelそう繫結いたViewそう,它基本きほん使用しようてんげき事件じけん,而是使用しよう命令めいれい(Command)らいひかえせい資料しりょうてき顯示けんじ也是不同ふどう於MVC,而是使用しようBindingらい繫結相關そうかん資料しりょう

值得いちひさげてき,MVVM通常つうじょうかい使用しよう屬性ぞくせい更改こうかい通知つうちそく資料しりょう驅動くどう而不事件じけん驅動くどうざいWPF中當なかとう資料しりょう發生はっせい改變かいへんかい通過つうかかいめんINotifyPropertyChanged通知つうちいた對應たいおうてきぐみけん繫結てき資料しりょう實現じつげんどう資料しりょうおもしん整理せいり

批評ひひょう

[編輯へんしゅう]

たい這種しきてき批評ひひょうらいMVVMてき創造そうぞうしゃJohn Gossman本人ほんにん[13]指出さしで實現じつげんMVVMてきひらき銷對於簡單かんたんてきUI操作そうさ過度かどてき」。せつたい於更だいてき應用おうようらいせつ,推廣ViewModelへんどくさら困難こんなん。而且,說明せつめいりょう非常ひじょうだいてき應用おうようほどしきちゅうてき資料しりょう繫結かいしるべ致相とうだいてきしゅ記憶きおくたい消耗しょうもう

.NETちゅうてき實現じつげん

[編輯へんしゅう]

.NETかまち

[編輯へんしゅう]

まいり

[編輯へんしゅう]

參考さんこう文獻ぶんけん

[編輯へんしゅう]
  1. ^ 1.0 1.1 Google groups. Thought: MVVM eliminates 99% of the need for ValueConverters. [2017-11-19]. (原始げんし內容そん於2011-01-22). 
  2. ^ Martin Fowler. The Presentation Model Design Pattern. Martin Fowler.com. 19 July 2004 [2017-11-19]. (原始げんし內容そん於2021-01-26). 
  3. ^ 3.0 3.1 3.2 3.3 Smith, Josh. WPF Apps with the Model-View-ViewModel Design Pattern. MSDN Magazine. February 2009 [2017-11-19]. (原始げんし內容そん於2019-10-31). 
  4. ^ 4.0 4.1 Massey, Simon. Presentation Patterns in ZK. [24 March 2012]. (原始げんし內容そん於2020-08-13). 
  5. ^ Steve Sanderson. KnockoutJS. [2017-11-19]. (原始げんし內容そん於2020-08-16). 
  6. ^ The MVVM Pattern. msdn.microsoft.com. [2016-08-29]. (原始げんし內容そん於2017-08-25). 
  7. ^ Pete Weissbrod. Model-View-ViewModel Pattern for WPF: Yet another approach.. [2017-11-19]. (原始げんし內容そん檔於2008-02-01). 
  8. ^ Wildermuth, Shawn. Windows Presentation Foundation Data Binding: Part 1. Microsoft. [24 March 2012]. (原始げんし內容そん於2018-08-29). 
  9. ^ ZK MVVM. Potix. [24 March 2012]. (原始げんし內容そん於2016-03-18). 
  10. ^ 10.0 10.1 Josh Smith. WPF Apps With The Model-View-ViewModel Design Pattern. [2017-11-19]. (原始げんし內容そん於2019-10-31). 
  11. ^ John Gossman. Tales from the Smart Client: Introduction to Model/View/ViewModel pattern for building WPF apps. [2017-11-19]. (原始げんし內容そん於2010-01-25). 
  12. ^ Karl Shifflett. Learning WPF M-V-VM.. [2017-11-19]. (原始げんし內容そん檔於2009-04-13). 
  13. ^ John Gossman. Tales from the Smart Client: Advantages and disadvantages of M-V-VM. [2017-11-19]. (原始げんし內容そん於2011-08-16). 

外部がいぶ連結れんけつ

[編輯へんしゅう]