はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

デザインパターン

【Unity】すごい早いという噂のDIコンテナ「VContainer」を始めて触ってみる

はじめに 今回は巷で噂のVContainerについての記事を書きたいと思います。github.comUnityのDIコンテナといえばZenjectであったり、Extenjectが有名でしたがそれらと比較して性能が全体的に良いようです。GitHubを見ればこれでもかというほどZenjectとのパフ…

【Unity】機能の階層と実装の階層を分けるBridgeパターンを学ぶ

はじめに 今回は機能の階層と実装の階層を分けるBridgeパターンを紹介したいと思います。 クラス図 はじめに 概要 登場人物 実装例 さいごに 概要 wikipedia先輩には以下のように表記されていました。 Bridge パターン(ブリッジ・パターン)とは、GoF(Gang…

【Unity】状態に応じてクラスの振る舞いを切り替えるStrategyパターンを学ぶ

はじめに 今回はアルゴリズムを切り替えるStrategyパターンについて紹介したいと思います。 クラス図 はじめに 概要 登場人物 実装例 さいごに 概要 wikipediaには以下のように表記されていました。 Strategy パターン(ストラテジー -)は、コンピューター…

【C#】インターフェイスの変換を行うAdapterパターンを学ぶ

はじめに 今回はインターフェイスの変換を行うAdapterパターンについて紹介したいと思います。 クラス図(左 : 継承を使ったもの, 右 : 委譲を使ったもの) はじめに 概要 登場人物 継承を使ったパターン 委譲を使ったパターン さいごに 概要 wikipediaには以…

【C#】命令をクラスにするCommandパターンを学ぶ

はじめに 今回は命令をクラスにするCommandパターンを紹介したいと思います。 クラス図 はじめに Commandパターンの定義 登場人物 Commnad Receiver ConcreteCommand Invoker Client さいごに Commandパターンの定義 Wikipediaにかなりわかりやすくまとめら…

【C#】責任をたらい回しするChain of Responsibilityパターンについて学ぶ

はじめに 今回は責任をたらい回しするChain of Responsibilityパターンを紹介したいと思います。 クラス図 はじめに 登場人物 Handlerのコード ConcreteHandler 動作確認 さいごに 登場人物 冒頭でも述べた通り,Chain of Responsibilityパターンは責任(要求…

【C#】nullチェックを不要にできるNull Objectパターンを学ぶ

はじめに 今回はNullReferenceExceptionのスローを防ぐためのnullチェックを減らすことができるNull Object パターンについて紹介したいと思います。 クラス図 はじめに よくあるnullチェック Null Objectパターン適応後 さいごに よくあるnullチェック clas…

【C#】データ構造と処理を分離するVisitorパターンを学ぶ

はじめに 今回はデータ構造と処理を分離する目的で用いられるデザインパターンVisitorパターンを紹介したいと思います。 クラス図 はじめに 登場人物 データ構造側 処理の記述側 データ構造側のコード 処理を記述するコード テスト データの集合を扱うクラス…

【C#】ValueObject、そなたは美しい

はじめに 最近ValueObjectパターンなるものを知ったのですが、DDD(ドメイン駆動開発)で用いられる手法の一つのようです。今回はメリット等には触れず、ValueObjectの作り方だけに注目していきたいと思います。 はじめに 作り方 おまけでEntityについて さい…

【Unity】FacadeパターンとMediatorパターンの違いと使い分けについて

はじめに 今回はFacadeパターンとMediatorパターンの違いについて考えた後、それぞれの使い分けについて考えてみたいと思います。しかし私自身まだ習いたてなので、間違っている情報を書いてしまっている可能性があります。注意してください。 はじめに 2つ…

【Unity】サービスロケーターを使ってみる

はじめに 今回はServiceLocatorパターンというよくDependency Injectionパターンの前座として紹介されるデザインパターンを取り上げたいと思います。 はじめに 実装 使い方 テストをやる サービスロケーターの良し悪し さいごに 実装 サービスロケーターの実…