디자인 모델 의 생 성 모델 ― 1.6 건설 자 모델

<?php
	/**
	 * 1.6      
	 *   :
	 * 		                 
	 * 		,                
	 * 		  。
	 *          :
	 * 		1.        
	 * 			  :
	 * 				         
	 * 		2.        
	 * 			  :
	 * 				       
	 * 		3.      
	 * 			  :
	 * 				        	
	 *     	4.       
	 *
	 *   :
	 * 		1.    
	 * 		2.      ,    
	 * 		3.         。
	 *   :
	 *     :
	 * 		1.      ,       , 
	 * 		          ;
	 * 		2.                
	 * 		      ,           
	 * 		      ;
	 * 	 	3.        ,       
	 * 	 	                  
	 * 	 	
	 * 	 		
	 * 		   
	 * 
	 * 	
	 */

	/**
	 *        
	 */
	abstract class PersonBuilder{
		abstract public function  head();
		abstract public function  body();
		abstract public function  handLeft();
		abstract public function  handRight();
		abstract public function  legLeft();
		abstract public function  legRight();
	}

	/**
	 *        
	 */
	//       
	class ThinPerson extends PersonBuilder{
		public function head(){
			echo '         <br/>';
		}

		public function body(){
			echo '         <br/>';
		}

		public function handLeft(){
			echo '         <br/>';
		}

		public function handRight(){
			echo '         <br/>';
		}

		public function legLeft(){
			echo '         <br/>';
		}

		public function legRight(){
			echo '         <br/>';
		}
	}

	/**
	 *        
	 */
	class FatPerson extends PersonBuilder{
		public function head(){
			echo '         <br/>';
		}

		public function body(){
			echo '         <br/>';
		}

		public function handLeft(){
			echo '         <br/>';
		}

		public function handRight(){
			echo '         <br/>';
		}

		public function legLeft(){
			echo '         <br/>';
		}

		public function legRight(){
			echo '         <br/>';
		}
	}

	/**
	 *      
	 */
	class Director{
		public function __construct(PersonBuilder $person){
			$person->head();
			$person->body();
			$person->handLeft();
			$person->handRight();
			$person->legLeft();
			$person->legRight();
		}
	}

	//   
	$thinPerson=new ThinPerson();
	$fatPerson=new FatPerson();
	$d1=new Director($thinPerson);
	$d2=new Director($fatPerson);



?>

좋은 웹페이지 즐겨찾기