나 와 함께 디자인 모델 배우 기 (-)
3302 단어 디자인 모드
우선 단 례 모드 가 무엇 인지 알 아야 한다.
개념: 응용 프로그램 에는 항상 이런 종류의 유일한 인 스 턴 스 만 존재 합 니 다.
단일 모드 도 창설 대상 의 통제 권 을 단일 한 방문 점 에 위탁 하기 때문에 직책 모드 로 여 겨 진다.
둘째, 이렇게 하면 좋 은 점 이 어디 에 있 습 니까?
이것 은 우리 가 데이터베이스 의 여러 연결 을 열거 나 불필요 한 시스템 자원 을 사용 하 는 것 을 방지 할 수 있다.복잡 한 시스템 에 서 는 응용 프로그램 상 태 를 유지 하 는 역할 도 한다.
마지막: 그것 은 어떤 전형 적 인 특징 이 있 습 니까?
1. 최소한 하나의 구조 함수 가 있어 야 하고 개인 (private) 으로 표시 되 어야 합 니 다.
2. 저장 클래스 의 인 스 턴 스 를 가 진 정적 구성원 변 수 를 가지 고 있 습 니 다.
3. 이 인 스 턴 스 를 방문 할 수 있 는 공공 정적 방법 이 있 습 니 다.
일반 류 와 달리 단일 류 는 다른 류 에서 직접 예화 할 수 없고 그 자체 에 의 해 예화 될 수 밖 에 없다.이 를 위해 서 는 구조 함 수 를 민영화 하고 복 제 를 방지 해 야 한다.코드 로 하나의 예 를 실현 합 니 다. 우 리 는 데이터 베 이 스 를 만 드 는 연결 을 예 로 들 면:
//get data class
class DB { private $_db; private static $_instance; private function __construct(){ $DSN = '../../content/xxtebook.db'; $this->_db = new PDO('sqlite:'.$DSN); } //
public static function initDB(){ if(! (self::$_instance instanceof self)){ self::$_instance = new self(); } return self::$_instance; } //
private function __clone(){}
public function query($sql){}
//.... }
외부 에서 이 예 를 사용 합 니 다:
$db = DB::initDB(); //$db->somMethod();
또한 어떤 방법 을 정적 으로 사용 하고 어떤 방법 을 사용 하지 않 는 지 에 대해 제 생각 은 방법 내부 에서 $this 변 수 를 방문 하려 면 정적 인 방법 을 사용 하지 말고 반대로 정적 인 방법 을 사용 할 수 있다 는 것 입 니 다.정적 방법 은 예 실 대상 을 통 해 사용 할 필요 가 없다 는 것 이다.
다음 에는 공장 모델 을 같이 배 워 보도 록 하 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.