2013-02-08 2 views

답변

2

일반적으로 하위 클래스는 수퍼 클래스를 인식하지만 수퍼 클래스는 하위 클래스에 대해 아무것도 모릅니다. 그 이유는 수퍼 클래스가 서브 클래스에 종속되지 않도록하기 위해서입니다. 종속성이 적어지면 코드 재사용이 쉬워집니다.

때로는 규칙을 깨고 수퍼 클래스에서 서브 클래스를 인식하고 인스턴스를 작성하는 것이 편리하지만 다른 경우에는 불가능합니다. 예를 들어, 타사 라이브러리의 확장을 작성하는 경우 라이브러리의 수퍼 클래스를 편집 할 수 없으므로 확장해야합니다. 이것은 라이브러리가 확장에 의존하지 않기 때문에 좋은 디자인입니다. 소규모 프로젝트에서는 그다지 중요하지 않을 수도 있지만 더 큰 프로젝트에서는 불필요한 종속성을 피하면서 불필요한 클래스를 드래그하지 않고도 코드 조각을 다시 사용할 수 있습니다.

+0

절대적으로 완벽한 답변을 주셔서 감사합니다. 이제 나는 공장을 사용해야하는 이유를 안다. –

+0

이 질문을 확인해 주시겠습니까? –

+0

죄송합니다. http://stackoverflow.com/questions/14781518/what-is-the-right-way-to-implement-factory-pattern 링크를 forgit했습니다. –

관련 문제