2011-09-28 3 views
0

개체를 만들고 파괴하는 클래스를 만들고 있는데, X라고 부르면 생성 부분이 XFactory가 될 수 있습니다.생성하고 소멸하는 클래스의 이름을 지정하는 방법은 무엇입니까?

그러나 물건을 만들고 파괴하는 것은 같은 종류이며 별도의 "XDestroyer"를 만들고 싶다는 충분한 코드가 없으므로 작성하고 파괴하는 클래스는 무엇이라고 부릅니까?

XFactory.destroy (x)가 나에게 적합하지 않습니다.

XManager 일 수도 있지만 너무 일반적이어서 아무 의미가 없습니다. 는 했나요 가능성 중

, 나는 내가 XFactory + XDestroyer으로 갈 것 같아요,하지만 누구 말이 하나의 이름을 생각 ... 할 수있는 경우

+1

"XManager"라고하고 문서화하십시오. –

+1

클래스 관리자를 호출하지 마십시오. 아무 말도하지 않는 너무 일반적인 용어입니다. – bitbonk

+0

양치기? PoolManager? 감독? – MattH

답변

1

당신은 괜찮은 이름을 가지고 올 수없는 경우 수업 디자인을 향상시킬 수 있다는 힌트입니다. 여러 가지 문제를 두려워하지 말라.

+0

좋은 지적 - 클래스가 얼마나 작아야하는지에 대한 하한선은 없다고 생각합니다. :-) –

+0

'괜찮은 이름을 지을 수 없다면'영어가 모국어가 아닐 수도 있습니다. 또는 알맞은 이름이 이미 명백한 무의미한 점에 잘못 사용되고 있습니다. – MattH

+0

사실, 영어가 제 첫 번째 언어가 아닙니다 ... 그래서 제가 질문했습니다. :-) 또한, 너무 많은 세부 사항을주지 않고 다른 사람에게 물어 보는 경우가 많습니다. 정확히 무엇을하고 있는지 모르는 사람들이 어쨌든 계획하고있는 것을 제안하면 아마 그렇게 멀리 떨어져있는 것이 아닙니다. –

0

XGod?

진지하게, 왜 뭔가를 만들고 파괴 할 수있는 독창적 인 수업이 필요한가요? 제게는 분명히 분명한 이해 상충이 있습니다. 두 가지 수업이 필요합니다.

더 중요한 것은 왜 객체를 파괴하기 위해 클래스가 필요할까요? 이것은 언어가 사용하는 가비지 수집 방법에 맡겨야합니다. 나는 명백하게 객체를 파괴하고 메모리와 다른 자원을 할당 해제해야 할 필요가 있다고 생각합니다. 원래 잘못된 설계 결정 때문입니다. 너의 물건을 다시 생각해.

+0

단지 GC보다 "파괴하는"것이 더 있습니다. 데이터베이스 연결을 잘못 설계하는 방법은 무엇입니까? 또한 ThreadLocals (Java)에 상태를 저장하는 경우 스레드를 풀로 반환하기 전에 해당 상태를 지워야합니다. 네가 할 수있는 많은 것들 중 단지 두 가지. 정리 = 나쁜 디자인. –

+0

IMHO, create() 및 destroy()는 관련 연산이며, OO에 관한 중요한 점은 관련 연산 (및 해당 데이터)을 그룹화 할 수 있다는 것입니다. 나는 "관심의 충돌"을 어디에도 보지 않는다, 당신은 자세히 설명 할 수 있냐? (참고 : 나는 이미 XFactory와 XDestroyer를 사용하기로 결정 했으므로 학문적이지만 괜찮습니다 :-)) –

+0

요점은 데이터베이스 연결을 닫고 전용 메소드에서 모든 관련 정리를 수행해야한다는 것이 었습니다. 그 물체. 확실한 생각이지만, 지금. ThreadLocal에 대해 취한 점. – Guillaume

관련 문제