디자인 모드 의 등록 트 리 모드

1069 단어 디자인 모드
단일 모델 과 공장 모델 을 말 했 습 니 다. 지금 은 등록 모델 이 라 고 할 수 있 습 니 다. 제 가 등록 모델 을 본 첫 인상 은 바로 전체적인 호출 입 니 다. 그러나 그의 용 도 는 이 점 뿐만 아니 라 지금 은 Cat 유형 을 밝 히 고 단일 모델 과 공장 모델 을 활용 하여 사례 화 를 실현 합 니 다.
class Cat{
	private static $cat;
	private function __construct(){
		
	}

	static function getInstance(){
		if(empty(self::$cat)){
			self::$cat = new self;
			return self::$cat;
		}else{
			return self::$cat;
		}
	}
}

4. 567913. 그러면 우리 가 호출 하 는 createCat 방법 을 사용 할 때마다 실례 화 여 부 를 판단 합 니 다. 이런 상황 에서 등록 트 리 모델 로 다음 과 같이 최적화 처리 할 수 있 습 니 다.
Factory 류 의 createCat 방법 을 조금 더 수정 합 니 다.
class Factory{
	static function createCat(){
		$cat = Cat::getInstance();
		return $cat;
	}
}

이렇게 한 후에 cat 인 스 턴 스 가 필요 할 때 Register: get (cat) 만 있 으 면 실 용적 이 고 편리 합 니 다.
우 리 는 전역 호출 문 제 를 계속 토론 합 니 다. 예 를 들 어 이전에 쓴 항목 에서 한 함수 에서 가격 의 값 을 얻 으 려 면 다른 파일 에서 호출 해 야 합 니 다. 그러면 방법 은 먼저 클래스 에서 정적 변 수 를 설명 한 다음 에 함수 에서 값 을 부여 하 는 것 입 니 다. 또 하 나 는 등록 트 리 로 이 루어 진 것 입 니 다.값 을 한 파일 에 직접 할당 하고 다른 파일 에서 꺼 내 면 클래스 에서 변 수 를 계속 설명 하 는 것 을 피 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기