php 디자인 모델 의 건설 기 모델 분석[스타 크 래 프 트 게임 사례]
우주 에는 많은 임무 관문 이 있 고 지 도 를 스스로 편집 할 수 있 으 며 화면 에는 각종 지형,건축 과 부대 가 있다.
이것 은 화면 을 초기 화 하 는 절차 가 매우 복잡 하 다 는 문제 가 존재 한다.
해결 해 야 할 문제:화면 초기 화 작업 을 완성 하 는 동시에 각종 디 테 일 한 결합 을 최소 화 합 니 다.
사고방식:성 간 의 화면 이 몇 부분 으로 구 성 된 이상 지도(즉 지형 과 광산),건축,부대.그러면 우 리 는 그들 을 부품 으로 보고 조립 하면 마지막 제품(전체 화면)이다.
건설 기(Builder)모드 예제:
<?php
//
interface Builder
{
//
public function buildMapPart();
//
public function buildBuildingPart();
//
public function buildArmyPart();
//
public function getResult();
}
// ,
class ConcreteBuilder implements Builder
{
//
public function buildMapPart()
{
//
echo "
";
}
//
public function buildBuildingPart()
{
// ,
echo "
";
}
//
public function buildArmyPart()
{
// ,
echo "
";
}
//
public function getResult()
{
// ,
echo "
";
}
}
// ,
class Director
{
// ,
private $builder;
// ,
public function __construct($builder)
{
//
$this->builder = $builder;
}
// , ,
public function buildeAllPart()
{
//
$this->builder->buildMapPart();
//
$this->builder->buildBuildingPart();
//
$this->builder->buildArmyPart();
}
}
// ,
$concreteBuilder = new ConcreteBuilder();
//
$director = new Director($concreteBuilder);
//
$director->buildeAllPart();
// ,
$concreteBuilder->getResult();
?>
실행 결과:지도 부품
건축 부품
부대 부품
부품 을 조립 하 다
용도 총화:건설 기 모델 은 절차 와 세부 사항 을 분리 하여 각자 맡 을 수 있다.
실현 총화:건축 기 인터페이스 나 추상 류 가 필요 하고 여러 가지 방법 을 규범화 시 켜 야 한다.예 를 들 어 위의 Builder 등 이다.그리고 실제 건축 기 류 로 하여 금 위의 ConcreteBuilder 와 같은 모든 방법 을 실현 하 게 한다.또한 절차 관 리 를 담당 하 는 감독 류,예 를 들 어 위의 Director 는 건축 기의 각 부품 제조 방법 을 호출 해 야 한다.마지막 으로 건조 기 를 모든 부품 을 조립 하 게 하 세 요.
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.