ホームページ php教程 php手册 PHP 設計パターン ------- (1) 戦略パターン

PHP 設計パターン ------- (1) 戦略パターン

Jul 21, 2016 pm 02:52 PM

1. なぜデザインパターンを学ぶ必要があるのか​​。

私の最後のプロジェクトは、アプリのインターフェースを作ることでした。スケジュールがタイトだったので、上司が急いでいたので、プロジェクトが完了したとき、私が何万行ものコードを書いていたことがわかりました。コードの品質はそうでした。そして、インターフェイスを呼び出す開発者が私のところに来て、特定のインターフェイスが間違っていると言いました。デバッグに戻ると、間違ったコード行を書いていたことがわかりました。しかし、6 つまたは 7 つのコントローラーに同じステートメントがあります。その結果、これらの 6 つまたは 7 つのファイルを見つけて、それらを 1 つずつ変更する必要があります。私は唖然としましたが、これによってコードの品質が向上し、顧客が要件を変更するときに歯を食いしばることを防ぐことができるのです (誰でもこの経験があるはずです、笑)。

2.戦略モード

1.コンセプト

戦略モード: アルゴリズムのファミリーを定義し、それらを個別にカプセル化して、アルゴリズムを使用する顧客に関係なくアルゴリズムを変更できるようにします。 (概念が難しすぎて理解できません)

2. 戦略モードがある理由

ジョーが働いている会社は、アヒルのシミュレーション ゲームを作成しました。ゲームにはさまざまなアヒルが登場します。鳴くものもあれば、飛ぶものもいます。

コード:

リーリー
このように、Duck クラスを継承するサブクラスは飛行動作を実装できますが、おもちゃのアヒルが飛行動作できないとしたら、それは冗談ではないでしょうか? 親クラスの fly メソッドをサブクラスでオーバーライドできるので、異なる特定のサブクラスに異なる動作を与えることができると言う人もいるでしょう。しかしこの場合、多くのコードが重複することになるのではないでしょうか?誰もがそれをそのまま真似すると思うので、どこかで問題が発生すると、すべてを再度変更する必要があり、いつでも上司が要件を変更すると、私たちは直接疲弊します。

デザインパターンの原則は次のとおりです:

1. アプリケーション内で変更が必要な可能性のある領域を見つけて分離し、変更する必要のないコードと混合しないでください。

2. 実装のためではなく、インターフェースのためのプログラム。

3. より多くの組み合わせを使用し、継承を減らします。

3.特定のコード

リーリー
最後に、デザインパターンは一種のアイデアであり、機械的に適用する必要はありません。そうしないと逆効果になります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)