ホームページ  >  記事  >  バックエンド開発  >  PHP デザイン パターン シリーズ - Builder Pattern_PHP チュートリアル

PHP デザイン パターン シリーズ - Builder Pattern_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:52:15935ブラウズ

ビルダーモードとは
ビルダー パターンは主に、他のオブジェクトの複雑な作成プロセスを排除することを目的としています。
デザインシーン
ユーザーの UserInfo クラスを作成するには、ユーザーの名前、年齢、金額、およびユーザー固有の情報結果を取得するその他の情報を作成する必要があります。
UserInfoBuilder ユーザー ビルダー クラスを作成します。このクラスは、名前、年齢、お金、その他の操作などの UserInfo の複雑な作成をカプセル化し、ユーザー クラスの作成プロセスを簡素化します
コード: UserInfo クラス UserInfo クラスの作成は複雑で面倒です。
[php] plaincopyprint を表示しますか?
//ビルダーパターン、目的は他のオブジェクトの複雑な作成プロセスを排除することです

/* ユーザー名、年齢、金額など、ユーザーを記述するクラス */
クラス UserInfo {

保護された $userName = ''; 保護された $userAge = ''; 保護された $userMoney = '';
パブリック関数 setUserName($userName) {
$this->userName = $userName;                                                                             
パブリック関数 setUserAge($userAge) {
$this->userAge = $userAge;                                                                             
パブリック関数 setUserMoney($userMoney) {
$this->userMoney = $userMoney; }

パブリック関数 getPeople() {
echo "この人の名前は: " . $this->setUserName . '、 お金: ' 。 }
}
/* このユーザーをインスタンス化して作成するのは非常に面倒です。ユーザー名、年齢、金額を設定する必要があります*/
$peopleInfo = array(
'userName' => 'initphp',
'userAge' => 28、
'userMoney' => '100元'
);
$UserInfo = 新しいユーザー情報
//ユーザーの詳細を取得するには、以下の手順でユーザー情報を設定する必要があります。プロセスが複雑で面倒です
$UserInfo->setUserName($peopleInfo['userName']); $UserInfo->setUserAge($peopleInfo['userAge']); $UserInfo->setUserMoney($peopleInfo['userMoney']); $UserInfo->getPeople(); コード: UserInfoBuilder ユーザー情報ビルダー クラス。UserInfo の作成プロセスをカプセル化し、開発者が快適に使用できるようにします
[php]
//ビルダーパターン、目的は他のオブジェクトの複雑な作成プロセスを排除することです
include("UserInfo.php"); クラス UserInfoBuilder {
保護された $obj

パブリック関数 __construct() {
$this->obj = 新しいユーザー情報
}

パブリック関数 buildPeople($peopleInfo) {
$this->obj->setUserName($peopleInfo['userName']); $this->obj->setUserAge($peopleInfo['userAge']); $this->obj->setUserMoney($peopleInfo['userMoney']); }

パブリック関数 getPeople() {
$this->obj->getPeople(); }
}

/* 作成プロセスはカプセル化されているため、ユーザーは簡単に使用できます */
$peopleInfo = array(
'userName' => 'initphp',
'userAge' => 28、
'userMoney' => '100元'
);
$UserInfoBuilder = 新しい UserInfoBuilder
; $UserInfoBuilder->buildPeople($peopleInfo) //
を直接ビルドします。 $UserInfoBuilder->getPeople(); 作者: initphp

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478143.html技術記事ビルダー パターンとは何ですか? ビルダー パターンは主に、他のオブジェクトの複雑な作成プロセスを排除することを目的としています。 設計シナリオ ユーザーの UserInfo クラスがあります。このクラスを作成するには、ユーザーの姓を作成する必要があります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。