Skip to content

Instantly share code, notes, and snippets.

@fujimisakari
fujimisakari / head_first_design_pattern.md
Last active October 22, 2023 06:14
HeadFirstデザインパターン 学習メモ
@fujimisakari
fujimisakari / decorator_pattern.md
Last active March 3, 2023 11:30
Decoratorパターン

Decoratorパターン

HeadFirstデザインパターン Index

パターンについて

新しい振舞いを提供するために、オブジェクトをラップします。
オブジェクト毎に機能を追加したいときや機能を動的に付け外ししたいとき、同じインターフェース
を持つオブジェクトで被せるようにすることで、既存クラスに手を加えずに機能追加ができます。

@fujimisakari
fujimisakari / abstract_factory_pattern.md
Last active August 20, 2021 09:05
AbstractFactoryパターン

AbstractFactoryパターン

HeadFirstデザインパターン Index

パターンについて

クライアントが具象クラス特定することなく一連のオブジェクト作成できるようにします。
そのため、具体的なクラスをクライアントから隠蔽でき容易に切り換えることができます。

HeadFirstデザインパターンでの定義

@fujimisakari
fujimisakari / state_pattern.md
Last active December 1, 2020 16:28
Stateパターン

Stateパターン

HeadFirstデザインパターン Index

パターンについて

状態が変化が多数ある場合に条件分岐を使うことなく状態変化を実現できます
状態毎のオブジェクトを作っておいて、状態を変えたいときは
コンテキスト内の状態オブジェクトを変更するだけで振舞いを容易に変更できます

@fujimisakari
fujimisakari / file0.py
Last active December 5, 2019 10:15
Pythonでメタプログラミング ref: https://qiita.com/fujimisakari/items/0d4786dd9ddeed4eb702
class Hoge(object):
def function1(self, args):
return args
def function2(self, args):
return args + 50
@fujimisakari
fujimisakari / programming_erlang_study.md
Last active June 18, 2019 22:47
プログラミングErlang 学習メモ
@fujimisakari
fujimisakari / composit_pattern.md
Last active August 11, 2017 10:21
Compositパターン

Compositパターン

HeadFirstデザインパターン Index

パターンについて

階層構造を持つオブジェクトへアクセスしたいときに、
親オブジェクトと子オブジェクトに同じインターフェースを定義することで、
階層構造を意識せずにアクセスすることができる。

@fujimisakari
fujimisakari / iterator_pattern.md
Last active August 11, 2017 10:21
Iteratorパターン

Iteratorパターン

HeadFirstデザインパターン Index

パターンについて

ツリー構造や配列構造のように複雑な構造で保持されているオブジェクトがあるときに、
対象オブジェクトの構造を意識しない簡単な操作で対象オブジェクトの構造を扱うことでできる。

HeadFirstデザインパターンでの定義

@fujimisakari
fujimisakari / template_method_pattern.md
Last active August 11, 2017 10:21
TemplateMethodパターン

TemplateMethodパターン

HeadFirstデザインパターン Index

パターンについて

アルゴリズム実現するためのテンプレート作成するパターンになります。
同じような処理が複数あるとき、基本操作(primitiveOperation)をサブクラスでオーバーライドすることで、
全体を共通化しながら、バリエーションによる影響を局所的に抑えられます

@fujimisakari
fujimisakari / facade_pattern.md
Last active August 11, 2017 10:21
Facadeパターン

Facadeパターン

HeadFirstデザインパターン Index

パターンについて

Facadeパターンは、何らかのサブシステムに属する一連の複雑なクラスを
簡素化して統合するFacadeクラスを作成します。
クライアントはサブシステムのこと何も意識せずにFacadeクラスのみに依存した
最小構成のシステムを実現できます。