phpプロトタイプパターンの簡単な分析、phpプロトタイプの簡単な分析
プロトタイプモード:
プロトタイプ インスタンスを使用して、作成するオブジェクトのタイプを指定し、このプロトタイプをコピーして新しいオブジェクトを作成します。
アプリケーション シナリオ: このクラスには多くのリソース、パフォーマンス、セキュリティ要件があり、通常はファクトリ メソッドと組み合わせて使用されます。
コードをコピーします コードは次のとおりです:
/**
* プロトタイプモード
*/
// 自身のクローンを作成するインターフェースを宣言します
インターフェース プロトタイプ {
関数コピー();
}
//製品自体のクローン作成操作を実装する必要があります
クラス学生がプロトタイプを実装する {
//簡単にするために、ここでは get set は使用しません
公立 $school;
公開 $major;
public $name;
パブリック関数 __construct($school, $major, $name) {
$this->school = $school;
$this->major = $major;
$this->name = $name;
}
パブリック関数 printInfo() {
printf("%s,%s,%sn", $this->school, $this->major, $this->name);
}
パブリック関数 copy() {
クローン $this を返します;
}
}
$stu1 = 新入生('清華大学', 'コンピュータ', '張三');
$stu1->printInfo();
$stu2 = $stu1->copy();
$stu2->name = '李思';
$stu2->printInfo();
?>
ここで、クラスに多数のメンバー変数がある場合、複数の新しいオブジェクトを外部で作成して値を 1 つずつ割り当てると、プロトタイプのコピーやコード自体のコピーが非効率になり、コードが冗長になり、エラーが発生しやすくなることがわかります。新しいオブジェクトに小さな変更を加えるのは別の問題です。
これで、デザインパターンの最初の部分であるクリエイティブパターンが完了しました。以下に構造設計パターンと動作設計パターンの 2 つの部分がありますが、これについては後ほど続きます。
http://www.bkjia.com/PHPjc/917027.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/917027.html技術記事 PHP プロトタイプ パターンの簡単な分析、PHP プロトタイプ プロトタイプ パターンの簡単な分析: プロトタイプ インスタンスを使用して、作成するオブジェクトの種類を指定し、このプロトタイプをコピーして新しいオブジェクトを作成します。 アプリケーション シナリオ: クラス リソース...