Pythonのデザインパターン

作成モード#

工場方式##

インスタンス->クラス->クラスファクトリ

抽象ファクトリー##

簡単に言えば、同じメソッドでいくつかのクラスをカプセル化し、呼び出しの共通メソッドを抽象化することです。これは、ファクトリメソッドの高度なバージョンです。

インスタンス->クラス->クラスファクトリ->抽象ファクトリ

怠惰な評価##

このPythonは、呼び出されたときに生成される@propertyを使用して実装できます。

ビルダー##

ビルダーモードは主に複雑なオブジェクトを構築するために使用されますが、このオブジェクトを構築するためのアルゴリズムは安定しており、オブジェクトのさまざまな部分が頻繁に変更されます。ビルダーモードは、主に複雑なオブジェクトのさまざまな部分の頻繁な需要の変化に対処するためのものです。しかし、アルゴリズムの需要の変化に対応することは困難です。この点に注意する必要があります。間違って使用すると、不必要なトラブルが多く発生します。

重要なのは、複雑なオブジェクト(抽象カテゴリ)の構築プロセスを抽象化することです。これにより、この抽象プロセスのさまざまな実装方法で、さまざまな表現(属性)を持つオブジェクトを構築できます。

簡単に言えば、サブオブジェクトはより頻繁に変更され、アルゴリズムは比較的安定しています。

シングルトン##

クラスのインスタンスは1つだけです

プロトタイプモード##

特徴は、新しいインスタンスを作成する代わりに、既存のインスタンスをコピーすることによって新しいインスタンスを返すことです。

これは主に、複雑または時間のかかるインスタンスを作成するために使用されます。この場合、既存のインスタンスをコピーするとプログラムがより効率的に実行されるため、または同じ値で異なる名前の同様のデータを作成するためです。

オブジェクトプール##

オブジェクトプールは、初期化されて使用できるオブジェクトのセットであり、必要に応じてオブジェクトを作成および破棄できます。プールのユーザーは、プールからオブジェクトを取得して操作し、必要のないときに、オブジェクトを破棄する代わりに破棄する代わりに、プールに戻すことができます。

オブジェクトプールテクノロジーはPythonで実装されています。たとえば、小さな整数のような多くのデータ参照があり、作成と破棄には時間がかかるため、オーバーヘッドを削減するためにオブジェクトプールに保存されます。

構造モード#

デコレータモデル##

デコレータはPythonです。

プロキシモードプロキシ##

たとえば、Pythonでの参照カウント。

行動モード#

イテレーター##

コンテナ内のすべての要素を繰り返します。

Recommended Posts

Pythonのデザインパターン
Pythonマルチスレッド
Python CookBook
Python FAQ
Python3辞書
Python3モジュール
python(you-get)
Python文字列
Python記述子
Pythonの基本2
Python exec
Pythonノート
Python3タプル
CentOS + Python3.6 +
Python Advanced(1)
Pythonデコレータ
Python IO
Pythonマルチスレッド
Pythonツールチェーン
Python3リスト
Pythonマルチタスク-日常
Pythonの概要
pythonの紹介
Pythonアナリティック
Pythonの基本
07.Python3関数
Pythonの基本3
Pythonマルチタスクスレッド
Python関数
python sys.stdout
python演算子
Pythonエントリ-3
Centos 7.5 python3.6
Python文字列
pythonキューキュー
Pythonの基本4
Pythonの基本5
python3は単に結合された設計パターンを実装します