GoGoでデザインパターン (Commandパターン) Commandパターンとは 振る舞いに関するデザインパターンの一つ。リクエストをそれに関する情報をすべて保持する独立したオブジェクトとして保持することにより、リクエストをメソッドの引数にしたり、リクエストの遅延実行、キューイング等を...2022.11.22 0Goデザインパターン
GoGoでデザインパターン (Proxyパターン) Proxyパターンとは 構造に関するデザインパターンの一つ。あるオブジェクトの代理・代用を提供し、元オブジェクトへのアクセス制御等の別処理を行う。Proxyが担う役割毎にいくつかの種類に分類される。 Proxyの一例 V...2022.11.18 0Goデザインパターン
GoGoでデザインパターン (Flyweightパターン) Flyweightパターンとは 構造に関するデザインパターンの一つ。複数のオブジェクトに共通の部分を分離し、共通部分オブジェクトを共有することによってメモリ使用量を最適化することができる。オブジェクトが保持する状態のうち、共有される...2022.11.16 0Goデザインパターン
GoGoでデザインパターン (Stateパターン) Stateパターンとは 振る舞いに関するデザインパターンの一つ。あるオブジェクトの状態に依存した振る舞いを、各状態オブジェクトに分割し整理する。 長所 状態毎の振る舞いをそれぞれ別のクラスにして整理できる。(単一責任の...2022.11.14 0Goデザインパターン
GoGoでデザインパターン (Mementoパターン) Mementoパターンとは 振る舞いに関するデザインパターンの一つ。オブジェクトの状態の保存・復元を実装の詳細を明かさずに行うことができる。 長所 内部の実装や状態知らずに(カプセル化に違反せずに)、オブジェクトの状態...2022.11.09 0Goデザインパターン
Go【Go言語】Interface型の変数に代入するときのレシーバ毎の挙動について Interfaceを宣言するときのレシーバが値かポインタかで、Interface型の変数に代入するときの挙動が異なる。 値レシーバで宣言した時 値型でもポインタ型でもIインターフェース型の変数fooに代入することができる。 ...2022.11.04 0Go