2012-10-28 4 views
3

저는 Ruby를 처음 접했고 싱글 톤 메소드와 함께 구문을 배웠습니다. 나는 그 (것)들을 창조하고 사용하는 방법을 이해한다. 그러나 왜 그들을 사용합니까?싱글 톤 방법은 어떻게 유용합니까?

누군가 싱글 톤 방법을 사용하면 도움이되는 몇 가지 실제 사례를 제공 할 수 있습니까?

+0

http://www.ruby-forum.com/topic/86169 –

+1

@Damieh이 질문은 싱글 톤 패턴에 관한 것이 아니라 루비에 존재하는 싱글 톤 메소드에 관한 것입니다. 싱글 톤 메소드는 Ruby에서 OOP를 전혀 위반하지 않습니다. –

+0

@Damieh Singleton 개념은 OOP에 위배되지 않습니다. 프로토 타입 기반 OOP와 클래스 기반 OOP가 있습니다. 둘 다 OOP이고 프로토 타입 기반 OOP는 싱글 톤 (singleton) 만 갖는다. – sawa

답변

2

어쩌면 당신은 몇 가지 디버깅을 수행 할 생성자가? 객체 컬렉션이 있고 그것들 중 하나가 형제와 함께 반복되는 동안 작동한다는 것을 알기 때문에 문제가있는 메소드를 수정하여 일부 로깅/추적 코드에 래핑하여 로깅 페이지를 읽지 않아도됩니다 다른 100 개 항목에 대한 진술.

내가 생각할 수있는 적어도 하나의 인위적인 예입니다.

+0

감사합니다 .. 전적으로 동의합니다. 좋은 본보기. – user1763684

1

적어도 클래스의 싱글 톤 메서드 여야하는 생성자가 필요합니다. 생성자가 없으면 인스턴스가 없을 수도 있습니다 (항상 리터럴로 인스턴스를 만드는 것 외에는). 인스턴스를 구성하려는 방식은 한 가지 방법으로 제한되어서는 안됩니다. 예를 들어, Timenowat, utc, gm

+0

클래스에 편재 된'new' 싱글 톤 메서드를 생략했습니다. –

+0

@AndrewMarshall : 사실,'new'는 대개'Class'의 인스턴스 메소드입니다. 특수 상황에서만 재정의됩니다. –

+0

당신은 싱글 톤 방법이 아니라 클래스 방법을 의미합니까? 또는 클래스의 싱글 톤 메서드와 동일합니까? –