Menu

c++ 싱글톤 예제

  • Uncategorized

참조: 헤드 퍼스트 디자인 패턴 책(권장) https://en.wikipedia.org/wiki/Singleton_pattern Singleton 패턴은 클래스에 인스턴스가 하나만 있는지 확인하고 전역 액세스 지점을 제공합니다. Singleton 패턴에 대한 실제 환경에서 사용할 수있는 매우 좋은 비 소프트웨어 예제가 있습니다. 내 대학의 교장사무실은 싱글톤입니다. 대학은 교장이 선출되는 수단을 지정하고, 임기 제한을 하며, 승계 순서를 정의합니다. 따라서 지정된 시간에 활성 보안 주체가 하나일 수 있습니다. 보안 주체의 개인 ID에 관계없이 제목인 “보안 주체”는 사무실에 있는 사람을 식별하는 전역 액세스 지점입니다. 정적 Singleton, Singleton 및 Singleton:getInstance()를 초기화하는 동안 경합 조건이 있을 수 있으므로 수정된 버전은 스레드에서 안전하지 않습니다. 그러나 우리는 뮤텍스 잠금을 추가하여 메서드 스레드를 안전하게 만들 수 있습니다 : 또한 제어 된 파괴 순서가있는 예외 올바른 C ++ 싱글 톤 템플릿 기본 클래스를 참조하십시오. 싱글톤 및 연산자=(콘스트 싱글톤&);; 이 예제에서 기본 클래스는 단일 패턴을 적용합니다. 당신은 싱글 톤을 많이 처리해야했습니다. 모든 사람이 줄을 서 있는지 확인하기 위해 싱글톤이 무엇인지 간단히 요약해 보시겠습니까? Singletons는 데이터베이스 연결 또는 소켓과 같은 리소스에 대한 액세스를 제어하는 데 자주 사용됩니다.

데이터베이스에 대한 하나의 연결에 대한 라이선스가 있다고 가정합니다. Singleton 연결 개체는 언제든지 하나의 연결만 만들 수 있도록 합니다. 다중 스레드 환경에서이 같은 싱글 톤. 읽을 만한 가치가 있습니다. https://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf Ok Mihai, 그래서 당신은 싱글 톤에 어떤 대안이 있습니까? 2009 년, 원래 디자인 패턴의 저자는 원래 목록에서 제거 고려할 수있는 유일한 패턴은 싱글 톤이라고 말했다. 이는 본질적으로 글로벌 데이터를 저장하는 방법이며 잘못된 디자인의 지표가 되기 때문입니다. Phoenix Singleton 및 정책 템플릿 클래스(동작 제어를 위한 정책 선택)를 사용하여 단일 톤 수명을 제어합니다. C ++, JAVA 또는 C #과 같은 모든 개체 지향 프로그래밍 언어로 싱글 톤 패턴을 구현하는 것은 매우 쉽습니다. 싱글톤 패턴을 구현하는 방법에는 여러 가지가 있습니다. 그러나 개인 생성자와 정적 메서드를 사용하여 클래스의 인스턴스를 만들고 반환하는 것은 Singleton 패턴을 구현하는 데 널리 사용되는 방법입니다. 싱글톤 패턴의 UML 표현은 다음과 같습니다.

싱글톤 패턴은 가장 단순한 디자인 패턴 중 하나입니다. 때로는 모든 개체에 대해 별도의 DB 연결을 만드는 데 비용이 많이 들 수 있으므로 여러 개체에서 공유하는 단일 DB 연결과 같은 클래스의 인스턴스가 하나만 있어야 하는 경우가 있습니다.

Search