단형 디자인 패턴은 싱글톤 패턴이라고도 합니다.
1. 모노모픽 디자인 패턴의 의미:
단형 패턴의 주요 기능은 객체 지향 프로그래밍 설계에서 클래스가 하나의 인스턴스 객체만 가질 수 있도록 하는 것입니다. 객체 생성 패턴인 싱글톤 패턴은 클래스에 하나의 인스턴스만 있도록 하고 자체적으로 인스턴스화하며 이 인스턴스를 전체 시스템에 전역적으로 제공합니다. 인스턴스의 복사본을 생성하지 않지만 싱글톤 클래스에 내부적으로 저장된 인스턴스에 대한 참조를 반환합니다.
2. 싱글 모드의 핵심 포인트 3가지:
① 클래스의 고유한 인스턴스를 보유하는 정적 멤버 변수가 필요합니다.
②생성자와 복제 함수는 외부 프로그램이 새 클래스를 추가하여 싱글톤 모드의 의미를 잃지 않도록 비공개로 선언해야 합니다.
③ 이 인스턴스에 액세스하려면 공용 정적 메서드(일반적으로 getInstance 메서드)를 제공하여 고유한 인스턴스에 대한 참조를 반환해야 합니다.
클래스 DB {
Private static $obj = null; //비공개 정적 멤버 속성 $obj를 선언합니다
Private function__construct() { //Private 생성자 메서드는 클래스 내부의 객체만 인스턴스화할 수 있습니다
echo "데이터베이스에 성공적으로 연결되었습니다
";
}
Public static function getInstance() { // 이 클래스의 객체는 이 정적 메서드를 통해 얻을 수 있습니다
If(is_null(self::$obj)) //이 클래스의 $obj가 비어 있으면 아직 인스턴스화되지 않았음을 의미합니다
self::$obj = new self() // 이 클래스 객체 인스턴스화
return self::$obj; //이 클래스의 객체 반환
}
공용 함수 쿼리($sql) { //SQL 문을 실행하여 데이터베이스 작업을 완료합니다
에코 $sql;
}
}
$db = DB::getInstance(); //DB 클래스의 객체를 얻기 위해서는 정적 메소드 getInstance()만 사용할 수 있습니다
$db -> query("select *from user"); //객체의 멤버에 액세스
?>