면책 조항: 이 블로그 시리즈의 참고 자료는 Cheng Jie가 작성한 "Dahua 디자인 패턴"입니다.
프로토타입 인스턴스를 사용하여 생성할 객체 유형을 지정하고 >이 프로토타입은 새로운 객체를 생성합니다. 프로토타입 모드를 사용하면 객체를 생성하는 방법에 대한 세부 정보 없이도 객체가 다른 사용자 정의 가능한 객체를 생성할 수 있습니다. , 을 통해 프로토타입 객체를 생성할 객체에 복사하고, 프로토타입 객체에게 자신을 복사하도록 요청하여 생성할 객체를 생성합니다. 이 직면한 주요 문제는 요구 사항 변경으로 인해 "복잡한 구조를 가진 일부 개체"가 생성된다는 것입니다. 이러한 개체는 종종 급격한 변화에 직면하지만 상대적으로 안정적이고 일관된 인터페이스.
그런 물건.
UML 클래스 다이어그램 살펴보기:
역할 분석:
![PHP 디자인 패턴 학습 시리즈(7)--프로토타입 객체](http://image.codes51.com/Article/image/20160322/20160322153754_7163.jpg)
1. 추상 프로토타입, 클론 인터페이스 제공
2. 구체적인 프로토타입, 클론 인터페이스 구현
특정 코드 :
[php] 보기
일반 복사
인쇄
?
![PHP 디자인 패턴 학습 시리즈(7)--프로토타입 객체](http://image.codes51.com/Article/image/20160322/20160322153754_8257.png)
/**추상 프로토타입
-
*/
-
추상
- 수업 프로토타입
-
{ 추상 기능
- 복제됨()
- } /**특정 프로토타입 클래스
* 클래스 플레인-
- */
클래스- 비행기확장
프로토타입- {
- 공개 $color ;
🎜>기능- Fly()
-
{ "비행기가 날아요!
"; > -
- 함수cloned()
>-
return
- clone $this; 🎜>}
-
클라이언트 테스트 코드 :
-
-
[php] 보기
일반 복사 인쇄
?
- 헤더("Content-Type:text/html;charset=utf-8"); 🎜>
//------------프로토타입 모드 테스트 코드--------- ----------
require_once-
"./Prototype /Prototype.php"; =
- 새 평면();
-
$plane1->color="파란색"
- =$plane1->cloned() 🎜>$plane1
->Fly() ; ()
- 에코" 색상 plane1의 경우: {$plane1->color}
"; 🎜>"plane2의 색상은: {$plane2->color}
- ; >
- 프로토타입 모드의 핵심 아이디어만 소개합니다. 실제로 실제 개발에서는 그냥 clone하면 됩니다. 곧장. $plane2=clone $plane1;
- $plane2->Fly();$plane2->color;
이상으로 PHP 디자인 패턴 학습 시리즈(7개) - 프로토타입 객체의 내용을 포함한 내용을 소개했는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다. -