【C# /WPF実践入門編(9)】MVVMパターン/アーキテクチャの基礎①~Model・View・ViewModelの3層で役割分担~
Автор: C#で学ぶプログラミング入門
Загружено: 2025-09-03
Просмотров: 1112
WPFアプリ開発において重要なアーキテクチャパターンであるMVVM(Model-View-ViewModel)について学びます。
この記事では、MVVMパターンの基本的な概念とメリットを理解することに専念し、実際のクラス設計と実装を通じて役割分担(責務分離)の効果を体感していきます。
以下の方に役立つ内容となっています。
WPFアプリの設計パターンを学びたい方
MVVMパターンの各層の責務を理解したい方
コードの保守性・再利用性・テスタビリティを向上させたい方
MVVMパターンは、WPF以外にもMAUI、WinUI3、AvaloniaUIとかでも使われている大事な考え方です。
前回の記事(第8回)で「UI」と「ロジックとデータ」の役割を分離したクラス設計を行いました。今回これをベースに、更なる役割の分離を進めたものであるMVVMを学びます。
●目次
01:56 このチャンネルについて
02:38 目次
02:53 講義:MVVMパターンとは?
10:31 演習:MVVMパターンでカウンターを作る
17:00 まとめ
●動画の元になっているブログ記事
https://prota-p.com/csharp_wpf9_mvvm1/
●学習コンテンツ(動画と記事の一覧)
以下のように、C# プログラミングの初心者・学習者を対象として、様々な動画を作成していますので、よかったらぜひ見てください。
(記事・動画のコンテンツ一覧:https://prota-p.com/)
■C# プログラミングをざっくり知りたい方
C# とは何か?C# プログラミングの全体像をざっくり知りたい方は、まずは以下をご覧ください。
【C# 入門】プログラミングを学ぶメリットとC# が初心者におすすめの理由
• 【C# 入門】プログラミングを学ぶメリットとC# が初心者におすすめの理由
【初心者・入門編】15分でわかる!C# で学ぶプログラミング入門
• 【初心者・入門編】15分でわかる!C# で学ぶプログラミング入門
■C# WPF実践入門編
(1)WPFとは?2025年のWindowsアプリ開発で選ばれる理由と強み6選!
• 【C# /WPF実践入門編(1)】WPFとは?2025年のWindowsアプリ開発で...
(2)はじめてのWPFアプリ作成 ~Hello WorldからButtonクリックまで~【XAML、コードビハインドの基本】
• 【C# /WPF実践入門編(2)】はじめてのWPFアプリ作成 ~Hello Worl...
(3)パネル(Panel)によるレイアウト管理の基本 ~Grid、StackPanel、DockPanelの使い方~【コントロール配置ガイド】
• 【C# /WPF実践入門編(3)】パネル(Panel)によるレイアウト管理の基本 ~...
(4)WPFの主要コントロール入門 ~ListView、ComboBox、TabControl、Image等の使い方~
• 【C# /WPF実践入門編(4)】WPFの主要コントロール入門 ~ListView、...
(5)データバインディングの基礎①~DataContextとは?~
• 【C# /WPF実践入門編(5)】データバインディングの基礎①~DataContex...
(6)データバインディングの基礎②~INotifyPropertyChangedとは?~
• 【C# /WPF実践入門編(6)】データバインディングの基礎②~INotifyPro...
(7)データバインディングの基礎③~双方向バインディングの実装~
• 【C# /WPF実践入門編(7)】データバインディングの基礎③~双方向バインディング...
(8)コマンドの基礎 ~ICommandによる操作の分離~【MVVMパターン理解の基礎】
• 【C# /WPF実践入門編(8)】コマンドの基礎 ~ICommandによる操作の分離...
■C# WinForms実践入門編
(1)WinFormsの現代的な価値!・WebView2活用・~Windows業務システムからモダンなデスクトップアプリまで~
• 【C# /WinForms実践入門編(1)】WebView2活用・WinFormsの...
(2)デザイナとイベントの基本 ~はじめてのWinFormsアプリ作成~【フォーム、コントロールの使い方】
• 【C# /WinForms実践入門編(2)】デザイナとイベントの基本 ~はじめてのW...
(3)コンテナコントロール・レイアウト関連プロパティを初心者向け解説 ~FlowLayoutPanel・Dockでレスポンシブデザイン~
• 【C# /WinForms実践入門編(3)】コンテナコントロール・レイアウト関連プロ...
(4)複数フォーム・モーダル/モードレス ~タイマーアプリへ設定画面を追加~
• 【C# /WinForms実践入門編(4)】複数フォーム・モーダル/モードレス ~タ...
…
■C# 入門編
C# 入門者向けの内容です。C# の様々な機能を段階的に学びながら、HTMLコードを生成するプログラムを作ります。
• C#入門編(初心者向け)
(1) VisualStudioの使い方 ~HTMLでHello world~
• 【初心者向け】C# 入門(1) VisualStudioの使い方 ~HTMLでHel...
…
(8) オブジェクト指向とは?「カプセル化」 ~部品をブラックボックスとして使えるようにする~
• 【初心者向け】C# 入門(8-1) オブジェクト指向とは?「カプセル化」 ~部品をブ...
• 【初心者向け】C# 入門(8-2) オブジェクト指向とは?「カプセル化」 ~部品を...
(9) オブジェクト指向とは?「継承」 ~クラスを機能拡張して再利用する~
• 【初心者向け】C# 入門(9-1) オブジェクト指向とは?「継承」 ~クラスを機能拡...
• 【初心者向け】C# 入門(9-2) オブジェクト指向とは?「継承」 ~クラスを機能拡...
(10) オブジェクト指向とは?「ポリモーフィズム(多態性)」 ~条件分岐を使わず型に応じた振る舞いをさせる~
• 【初心者向け】C# 入門(10-1) オブジェクト指向とは?「ポリモーフィズム(多態...
• 【初心者向け】C# 入門(10-2) オブジェクト指向とは?「ポリモーフィズム(多態...
(11) 名前空間とファイル分割 ~Visual Studioでコードを整理整頓~
• 【初心者向け】C# 入門(11-1) 名前空間とファイル分割 ~Visual Stu...
• 【初心者向け】C# 入門(11-2) 名前空間とファイル分割 ~Visual Stu...
(12) オブジェクト指向【インターフェイス】 ~さまざまなクラスを一貫した方法でJSON出力する~
• 【初心者向け】C# 入門(12-1) オブジェクト指向【インターフェイス】 ~さまざ...
• 【初心者向け】C# 入門(12-2) オブジェクト指向【インターフェイス】 ~さまざ...
(13) コレクションとジェネリック型 ~リストと辞書で要素を動的に変更する~
• 【初心者向け】C# 入門(13-1) コレクションとジェネリック型 ~リストと辞書で...
• 【初心者向け】C# 入門(13-2) コレクションとジェネリック型 ~リストと辞書で...
(14) 例外処理の基本(try,catch,throw)~アプリの「想定外」を防ぐ~
• 【初心者向け】C# 入門(14) アプリの「想定外」を防ぐ ~try,catch,t...
(15) デリゲート(Delegate)とラムダ式 ~メソッドの部品化と再利用!~
• 【初心者向け】C# 入門(15) デリゲートとラムダ式 ~メソッドの部品化と再利用!~
(16)LINQ ~統合言語クエリでデータ操作を効率的に行う~
• 【初心者向け】C# 入門(16-1) LINQ ~データ操作を効率的に行う~ 【併せ...
• 【初心者向け】C# 入門(16-2) LINQ ~データ操作を効率的に行う~ 【併せ...
(17)非同期処理(async, await, Task) ~複数の処理を並行して実行~
• C#入門編(17-1)非同期処理(async, await, Task) ~複数の処...
• C#入門編(17-2)非同期処理(async, await, Task) ~複数の...
■Webアプリ開発入門編
動画リスト
• Webアプリ開発編(C#、ASP.NET Core Blazor)
(0) Webアプリとは何か?~Webアプリ開発がプログラミング学習にもおすすめな理由~
• Webアプリとは何か?~Webアプリ開発がプログラミング学習にもおすすめな理由~【初...
(1)Blazorとは? ~Webアプリ開発フレームワークでBlazorを選ぶ理由~
• 【C#、Blazor】Webアプリ開発入門編(1)Blazorとは? ~Webアプリ...
(2)はじめてのBlazor~Hello Worldを作る!~
• 【C#、Blazor】Webアプリ開発入門編(2)はじめてのBlazor ~Hell...
■AI活用
ChatGPTなどのAIをどのように活用していくかについても紹介しています。
動画リストは以下です。
• AI活用
今すぐできるソフトウェア開発・プログラミングにおけるChatGPT・AI技術活用
• 【ChatGPT活用】今すぐできるソフトウェア開発・プログラミングにおけるChatG...
• 【ChatGPT活用】今すぐできるソフトウェア開発・プログラミングにおけるChatG...
プログラミング初心者におすすめのAIツール ~学習を効率化する方法~【ChatGPT、GitHub Copilot(Visual Studio連携)】
• プログラミング初心者におすすめのAIツール ~学習を効率化する方法~【ChatGPT...
プログラミング初心者のためのチャット型AI活用ガイド【ChatGPT入門】
• プログラミング初心者のためのチャット型AI活用ガイド ~AIと上手く話すには?~【C...
• プログラミング初心者のためのチャット型AI活用ガイド ~AIと上手く話すには?~【C...
Visual StudioでGitHub Copilot入門!~C#初心者のためのAIコーディング支援ガイド~
• Visual StudioでGitHub Copilot入門!~C# 初心者のための...
●発信
ブログ:https://prota-p.com/
Twitter: / prota_csharp
GitHub:https://github.com/prota-p/
●問い合わせ
プログラミング学習のご相談等、お仕事等のご依頼は、こちら(↓)からお願いいたします。
https://prota-p.com/contact/
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: