セージ の メモ書き

メモこそ命の恩人だ

C#-デザインパターン

C# - レコード型

レコード型 継承 値オブジェクト with 式 レコード型 docs.microsoft.com // 形式1(位置指定構文) public record レコード名(型 プロパティ1, 型 プロパティ2, ...); // 形式2(位置指定構文+追加定義) public record レコード名(型 プロパティ1, 型 プ…

C# - event

event WPF ボタンクリック 独自定義 delegate Action 補足:Rx との違い event イベントの処理と発生 | Microsoft Docs event には、デリゲートを登録できる。(+= デリゲート) event を実行することで、登録済みデリゲートを動作できる。 オブザーバーパター…

Strategy パターン

Strategy パターン ( Strategy : 戦略 ) 実装方法 Strategy パターン ( Strategy : 戦略 ) Strategy パターン - Wikipedia アルゴリズム ( 戦略 ) を実行時に切り替えることができる。 アルゴリズムの変更が容易になる。 実装方法 1.インターフェース or …

DAO と Repository の違い 調べてみる

共通点 相違点 参考 DAO ( Data Access Object ) Repository 共通点 データアクセスに関するデザインパターンである。 データの永続化・読出操作を行うためのインターフェースを提供するオブジェクト。 DB etc. を利用する上での詳細な実装方法を隠蔽化でき…

Observer パターン

Observer ( オブザーバー ) パターン IObservable インターフェース IObserver インターフェース 実装方法1:IObservable + IObserver 実装方法2:Reactive Extensions -> Subject クラス Observer ( オブザーバー ) パターン オブサーバー デザイン パタ…

Iterator パターン

Iterator ( イテレーター ) パターン IEnumerator インターフェース IEnumerable インターフェース 使用例 ( foreach 文の仕組み ? ) Iterator ( イテレーター ) パターン Iterator パターン - Wikipedia 集合体の内部実装を意識することなく、全要素の数え…

Template Method パターン

Template Method パターン 実装方法 Template Method パターン Template Method パターン - Wikipedia 各クラスの処理の流れをテンプレート化できる。 基底クラスで、大まかな処理の流れをテンプレート化する。 派生クラスで、具体的なアルゴリズムを実装す…

Builder パターン

Builder ( ビルダー ) パターン 実装方法 Builder ( ビルダー ) パターン Builder パターン - Wikipedia インスタンスの生成を抽象化できる。 Factory パターンよりも生成手順が複雑。 対象クラスについて、ある程度の使い方を知っておく必要がある。 コンス…

Singleton パターン

デザインパターンの一つ。クラスのインスタンスが一つであることを保証できる。