ホームページ  >  記事  >  バックエンド開発  >  PHP、Python、JavaScript のデコレータ パターンの比較、pythonjavascript_PHP チュートリアル

PHP、Python、JavaScript のデコレータ パターンの比較、pythonjavascript_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:07:55704ブラウズ

PHP、Python、JavaScript、pythonjavascript のデコレータ パターンの比較

デコレータ パターンは、デコレータ パターンとも呼ばれ、クラスに新しい動作を動的に追加するオブジェクト指向プログラミングの分野の設計パターンです。機能の点では、変更パターンはサブクラス化よりも柔軟であり、クラス全体ではなくオブジェクトに一部の機能を追加できます。装飾パターンは、オブジェクトの機能を柔軟に拡張するのに非常に適しています。以下は、装飾パターンの UML 図です。

たとえば、ユーザーがメッセージを通じてコミュニケーションを行う技術フォーラムがあります。フォーラムの参加者は全員が単なる知り合いであるため、メッセージを受信するためのページは次のようになります。

リーリー

その後、フォーラムが有名になるにつれて、一部の人々がリンクを投稿し、リンクを含むメッセージをフィルタリングする必要が生じました。フォーラムがさらに発展するにつれて、スパム リンクを開発した人々に加えて、多数の人々もいることが判明しました。攻撃などの異常な投稿も多いため、フォーラム投稿の管理については、フィルタリングルールを拡張する必要がある場合に、別のクラスを抽象化して管理できます。

リーリー

Python には抽象クラスやメソッドがなく、実装はより簡単です:


リーリー

JavaScript には厳密なクラスはありません。すべての継承はプロトタイプに基づいているため、理解するのに少し時間がかかります。

リーリー

JavaScript にはクラスの特性がないため、継承は少し役に立ちません。Python では、デコレータを直接追加する簡単な方法があります。「@」を使用すると、デコレータが自動的に追加されます。関数に追加して関数を拡張します。次のようなものがあります:

リーリー

デコレーション モードの目的は、関数の動的な拡張の問題を解決することです。デコレーション モードの本質は、オブジェクト指向プログラミングを深く理解するだけでなく、オブジェクトの柔軟な処理にもつながります。だけでなく、プログラミング的思考スキルも向上します。

http://www.bkjia.com/PHPjc/953154.html

tru​​ehttp://www.bkjia.com/PHPjc/953154.html技術記事 PHP、Python、JavaScript のデコレーター パターンの比較、pythonjavascript デコレーター パターン (デコレーター パターンとも呼ばれる) は、オブジェクト指向プログラミングの分野における動的メソッドです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。