나 와 함께 디자인 모델 배우 기 (-)

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 변 수 를 방문 하려 면 정적 인 방법 을 사용 하지 말고 반대로 정적 인 방법 을 사용 할 수 있다 는 것 입 니 다.정적 방법 은 예 실 대상 을 통 해 사용 할 필요 가 없다 는 것 이다.
다음 에는 공장 모델 을 같이 배 워 보도 록 하 겠 습 니 다.

좋은 웹페이지 즐겨찾기