Design Pattern

    Factory Pattern

    팩토리 메소드 패턴 : 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를만들지는 서브클래스에서 결정하게 만든다. 즉 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것. 이점 클래스의 변경사항이 생겼을 때 얼마나 다른 클래스에게도 영향을 줄 것인가가 결합도이다. 팩토리 메소드 패턴은 직접 사용하는 객체를 생성하지 않고 팩토리 메소드 클래스를 통해 객체를 대신 생성하고 그 객체를 반환 받아 사용하기 때문에 효율적인 코드 제어를 할 수 있을 뿐더러 결합도를 낮춰 유지보수가 용이하다. 위 설계를 보면 1. Shape라는 인터페이스 public interface Shape { void draw(); } 2. 인터페이스를 상속받은 원, 정사각형, 직사각형 ..

    Design Pattern

    객체지향 설계는 다음 5가지 원칙을 지키면서 개발해야한다. S: Single responsibility principle(SRP) 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다 O: Open/closed principle(OCP) 개방-폐쇄 원칙 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. L: Liskov substitution principle(LSP) 리스코프 치환 원칙 프로그램의 객체는 프로그램의 정확성은 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. I: Interface segregation principle(ISP) 인터페이스 분리 원칙 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나 보다 낫다 D: Dependency in..