디자인 모드 의 등록 트 리 모드
1069 단어 디자인 모드
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) 만 있 으 면 실 용적 이 고 편리 합 니 다.
우 리 는 전역 호출 문 제 를 계속 토론 합 니 다. 예 를 들 어 이전에 쓴 항목 에서 한 함수 에서 가격 의 값 을 얻 으 려 면 다른 파일 에서 호출 해 야 합 니 다. 그러면 방법 은 먼저 클래스 에서 정적 변 수 를 설명 한 다음 에 함수 에서 값 을 부여 하 는 것 입 니 다. 또 하 나 는 등록 트 리 로 이 루어 진 것 입 니 다.값 을 한 파일 에 직접 할당 하고 다른 파일 에서 꺼 내 면 클래스 에서 변 수 를 계속 설명 하 는 것 을 피 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.