2009-02-20 5 views
7

가끔은 특정 디자인 상황에서 겉으로보기에는 쉽지만 잘못된 길을 택한 유일한 사람입니까? 나는 의심스런 싱글 톤 객체를 공유했다는 것을 인정할 것이다. 게다가, 나는 물건을 더 쉽게 보이게하기 위해 하나 또는 두 개의 하느님을 만드는 것으로 알려졌다.안되는 것을 알고 있더라도 어떤 반 패턴을 사용합니까?

안되는 것을 알고 있더라도 반 패턴을 사용해 본 적이 있습니까?

+0

싱글 톤에 대해 궁금합니다. 게으른 방법은 평범한 구식 전역을 사용하는 것입니다. 그렇다면 왜 더 복잡한 반 패턴을 사용하는 추가 문제로 가야합니까? 전역은 좋지 않을 수도 있지만 일반적으로 싱글 톤보다 덜 나쁩니다. 코드 작성도 쉬워졌습니다. – jalf

+1

내 생각에 싱글 톤은 본질적으로 나쁜 디자인 패턴이다. 내 생각에 드문 하드웨어 드라이버 케이스에서만 사용할 수있다. 다른 대부분의 경우에는 OOP 환경에서 전역 상태를 도입하기 만하면 이식성과 같은 디자인 품질 목표를 손상시킬 수 있습니다. –

+0

마지막 코멘트에서 계속 - 그러나 나는 종종 다음 중 하나의 논리에 의해 싱글 톤을 정당화합니다. "내가 정말로 필요로하는 것은 전역 변수입니다. –

답변

2

God Object 안티 패턴은 쉽게 실수 할 수 있습니다. 때로는 수업을 끝내기에는 너무 많은 작업처럼 보일 수 있습니다. 그런 다음 나중에 어느 시점에 비용을 지불합니다. 이 딱딱한 커플 링과 함께이 안티 패턴이 맞닥 뜨리는 것을 발견했습니다.

공급 업체 고정 안티 패턴은 공급 업체 특정 언어를 사용할 때 피하기 어려울 수 있습니다.

+0

"God"이라고 말하면 편집 할 수 있습니다. – CTT

+0

나는 멍 개체의 생각을 좋아합니다. 모든 입과 바지는 복잡하지만 실제로는별로하지 않습니다. – Tom

+0

나는 실제로 당신이 속어를 사용하고 있다고 생각했습니다. 당신이 그것을 바꾼 수치심은 당신이 새로운 물결을 시작했을 수도 있습니다, ㅎ. –

6

매우 쉬운 유연한 뭔가를 만들려고 노력하고 Inner Platform Effect와 결말 . 나는 내부 데이터베이스에 대한 유죄입니다.

때로는 미리 코딩 된 유사 버전 인 Not Invented Here을 사용하는 것보다는 직접 코드를 작성하는 것이 바람직합니다. 항상 스스로를 작성하는 것보다 더 의미가 있기 때문에 기능의 특정 부분에 대한 추가됩니다 하나 개 벤더 고유의 것입니다

0

Vendor Lock In

나는 ... 그것을 피하기 위해 노력하지만. 나중에이 결정을 위해 많은 시간을 보냈습니다.

1

의견에서 나는 영장이 대답이된다고 생각합니다 - 싱글 톤 패턴.

언어 (예 : Java)에서 지원하지 않을 때 전역 변수를 얻는 방법입니다. 이것은 필요할 때를 제외하고는 절대 사용해서는 안되는 패턴 중 하나입니다. 중요한 비트는 전역 변수 (인스턴스가 있음)가 필요할 때와 필요할 때를 구별 할 수 있습니다.

전역 상태를 도입 할 때의 심각한 문제를 넘어서서 싱글 톤에 문제가 있습니다. 예를 들어, Java는 다중 클래스 로더가있는 클래스 로더 내에서만 단일 인스턴스이며 여러 복사본을 만들 수 있습니다.

관련 문제