マガジンのカバー画像

DP with Python

21
デザインパターンをベースにしつつ、色々なpythonコードの書き方をまとめていきます。書き方を暗記して、目の前の課題に当てはめようとしてはいけません。あくまでも「こんな書き方もあ…
運営しているクリエイター

記事一覧

DP.20:ステートセーブ・ロードを実現する - Mementoパターン -【Python】

【1】MementoパターンMementoパターンは 書き方。要するに「ステートセーブ・ステートロード…

fz5050
2年前
1

DP.19:使うアルゴリズムを切り替える - Strategyパターン -【Python】

【1】StrategyパターンStrategyパターンは という書き方。 たいていの問題はいくつものアル…

fz5050
3年前
2

DP.18:より人間が使いやすい構文をつくる - Interpreter(インタープリター)パターン -…

【1】Interpreter(インタープリター)パターンInterpreter(インタープリター)パターンは …

fz5050
3年前
7

DP.17:ステートマシンの仕組みを適用する。 - Stateパターン -【Python】

【1】StateパターンStateパターンは といった感じの書き方。 ■用語について 【2】ステー…

fz5050
3年前
4

DP.16:紐づけたオブジェクトに値を一斉伝播させる - Observerパターン -【Python】

【1】ObserverパターンObserverパターンでは というもの。 ■イメージ図 「Observer パター…

fz5050
3年前
2

DP.15_2:Reciver、Invokerを使う場合 - Commandパターン2 -【Python】

【1】はじめに今回は「Receiver」と「Invoker」を使った「Commandパターン」の作り方について…

fz5050
3年前
2

DP.15_1:コマンド(操作・関数)の生成と実行を分離する - Commandパターン1 -【Python】

【1】CommandパターンCommandパターンは というもの。 「直接関数や処理を呼び出さない」ことにより 『Commandオブジェクトを用意するが実行しないでおく。あとでまとめて必要な処理を呼び出す』 ということがしやすくなる。 【2】実際の利用例Commandパターンでは「コマンド(操作・関数)の生成や定義」と「実行」を分離される。このパターンは色々な場面で使用されている。 【3】例題:テキストファイルの操作例題として「テキストファイルの作成(Create)・

DP.14:処理を担当するオブジェクトに届くまで値をたらい回す - Chain of Responsibil…

【1】Chain of ResponsibilityパターンChain of Responsibilityパターンは簡単に言うと とい…

fz5050
3年前
1

DP.13:代わりのオブジェクト経由で目的の処理をコールする - Proxyパターン -【Pytho…

【1】Proxyパターン Proxyパターンでは これにより利用したいプログラムやオブジェクトの実…

fz5050
3年前

DP.12:処理担当を3つに分離 - MVCパターン -【Python】

【1】MVCパターンMVCパターンはプログラムを の3つに分離してプログラムを作成していく書き…

fz5050
3年前
3

DP.11:共有できるオブジェクトにして省リソース化する。- Flyweight -【Python】

【1】Flyweightパターン概要Flyweightパターンは、『状態や変動パラメータなどをもたないオブ…

fz5050
3年前
2

DP.10:複雑な裏側の処理にはシンプルなフロントエンドIFを設置する。- Facade(ファサ…

【1】Facadeパターン概要ざっくりいうと、「プログラム実行(アプリ起動)にあたり、裏側では…

fz5050
3年前
3

DP.09:対象オブジェクトを紐づけたオブジェクトを経由する+メソッド名を統一させる- …

【1】Bridgeパターン概要Bridgeパターンでは、『オブジェクトをコールする時は、専用オブジェ…

fz5050
3年前
1

DP.08:既存の関数をラッピングして処理を追加する。- Decorator -【Python】

【1】Decorator概要既存の関数内に処理を書き足すことなく、前後に処理を追加する、拡張する、などができるようにする書き方。例えば次のような使い方がある。 【2】予備知識:@デコレータについて簡単にデコレータの使い方についてまとめておく。 ■2-1:@をつけた書き方 (例1):関数を引数にうけとる関数:my_decorator # 引数に関数オブジェクトをうけとるデコレータdef my_decorator(func): print('this is my_dec