티스토리 뷰

728x90
반응형
정적 팩토리 (static factory method)
객체를 생성하기 위한 메소드를 실행시키기 위해서 객체의 인스턴스를 만들지 않기 위해 사용
서브클래스를 만들어서 객체 생성 메소드의 행동을 변경시킬 수 없다는 단점

팩토리 메소드 패턴

객체를 생성하기 위한 인터페이스를 정의, 어떤 클래스의 인스턴스를 만드는 일을 서브클래스에서 결정

디자인 원칙
1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다. (캡슐화)
2. 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다.
3. 상속보다는 구성을 활용한다.
4. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다.
5. 클래스는 확장에 대해서는 열려 있어야하지만 코드 변경에 대해서는 닫혀 있어야 한다.
6. 추상화된 것에 의존하도록 만들어라. 구상 클래스에 의존하도록 만들지 않도록 한다. (Dependency Inversion)

Dependency Inversion 원칙을 지키는 데 가이드 라인

  • 어떤 변수에도 구상 클래스에 대한 레퍼런스를 저장하지 말라
  • 구상 클래스에서 유도된 클래스를 만들지 말라
  • 베이스 클래스에서 이미 구현되어 있던 메소드를 오버라이드하지 말라
728x90
반응형
반응형
300x250