ビルダーモードとは
ビルダー パターンは主に、他のオブジェクトの複雑な作成プロセスを排除することを目的としています。
デザインシーン
ユーザーの 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