コンピュータ肥大化しがちなWPFのXAMLとViewModelをユーザーコントロールを使って分割する方法 WPFでシングルウィンドウアプリケーション(一つのウィンドウだけで完結するアプリ)を作っていると、Viewにコントロールを沢山配置することになり、Viewを構成するXAMLファイルと、データソースとして紐づくViewModelのソースファイ... 2025.05.07コンピュータ
コンピュータC#でデザインパターン「Singletonパターン」 1つしか存在しないものや、複数あると都合の悪いものを、インスタンス化する仕組み。・基本的に一つしか存在しないもの:システムの設定情報ロギングサービスプリンタスプーラー・複数存在すると都合の悪いもの:データベース接続プールキャッシュマネージャ... 2025.05.05コンピュータ
コンピュータC#でデザインパターン「Iteratorパターン」 C#ではList<T>などIEnumerable<T>インターフェースを実装したコレクションと、それをループ処理するforeachがあるので、Iteratorパターンを実装する機会は少ないと思われます。サンプルコードusing System... 2025.05.05コンピュータ
コンピュータC#でデザインパターン「Commandパターン」 MVVMで使うICommandというインターフェイスがあり、これを実装することでViewからViewModelのCommandを呼び出すことが出来ます。ウィキペディアの「Commandパターン」のページサンプルコードusing System... 2025.05.05コンピュータ
コンピュータC#でデザインパターン「Builderパターン」 オブジェクトの構築プロセスを段階的に行い、複雑なオブジェクトを柔軟に生成するためのデザインパターンです。ウィキペディアの「Builderパターン」のページサンプルコード/// <summary>/// BUilderパターンのサンプルコード... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Adapterパターン」 Adapterパターンを使うと、既存のクラスを直接加工することなく、新たなインターフェイスを作ることが出来る。ウィキペディアの「Adapterパターン」のページサンプルコード/// <summary>/// Adapterパターンのサンプル... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Bridgeパターン」 Bridgeパターンを使うと、複数の要素の組み合わせの数分クラスを生成する必要があるケースで、要素をクラス化することで少ないクラス数で組み合わせを表現出来るように出来る。ウィキペディアの「Bridgeパターン」のページサンプルコード/// ... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Decoratorパターン」 オブジェクトを動的に装飾するパターンウィキペディアの「Decoratorパターン」のページサンプルコード/// <summary>/// Decoratorパターンのサンプルコード/// </summary>interface IProdu... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Proxyパターン」 オブジェクトへのアクセスを制御し、必要に応じて追加の処理を提供する中間オブジェクトを用いるパターンとのこと。現実のProxyサーバーはHTTPリクエストを中継し代わりにアクセスすることで、本来アクセスできないネットワークからのWebブラウジ... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Mementoパターン」 オブジェクトの状態を外部に公開せずに保存し、後でその状態に復元するためのパターンみたいです。ウィキペディアの「Mementoパターン」のページサンプルコードusing System.ComponentModel;using System.D... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Stateパターン」 オブジェクトの内部状態に応じて振る舞いを変更し、状態遷移をクラスとして表現するパターンです。ウィキペディアの「Stateパターン」のページサンプルコード/// <summary>/// Stateパターンのサンプルコード/// </summ... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Strategyパターン」 Strategyパターンは処理のアルゴリズムをカプセル化し、実行時に切り替えることを目的としたパターンです。ウィキペディアの「Strategyパターン」のページサンプルコード/// <summary>/// Strategyパターンのサンプ... 2025.05.03コンピュータ
コンピュータC#でデザインパターン「TemplateMethodパターン」 クラスが提供する機能(TemplateMethod)を実現するため、その実装の一部をサブクラスに任せることで、コードの柔軟性と再利用性を高めるパターンウィキペディアのTemplateMethodパターンのページサンプルコード/// <sum... 2025.05.03コンピュータ
コンピュータC#でデザインパターン「Visitorパターン」 Visitorパターンは、既存のクラスの構造を変更することなく、それらのクラスに対する新しい操作(メソッド)を外部から追加することを目的としたデザインパターンみたいです。Wikipediaの「Visitorパターン」サンプルコード/// <... 2025.05.03コンピュータ