[플레이그라운드] TDD, 클린 코드 (7) - 좌표계산기 (피드백 전)



전체 코드

https://github.com/Kyuyoung11/java-coordinate-playground-main/tree/second


기능 목록

[기능 목록]
1. 좌표 입력 받기
2. 입력받은 문자열을 배열로 변환
3. 좌표 계산기 생성
    3-1. 배열 사이즈에 따라서 선/사각형/삼각형 결정
4. 좌표 출력
5. 면적 출력

팩토리 메소드 패턴 사용

배열 사이즈에 따라서 선/사각형/삼각형을 결정하는 부분을 팩토리 메소드 패턴을 사용해 구현함.

팩토리 메소드 패턴?

  • 객체를 생성할 때 필요한 인터페이스를 만들어서, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정한다.

팩토리 메소드 패턴 사용의 장점

  • 선/사각형/삼각형에 새로운 모양을 추가하려면, 팩토리 클래스와 새로운모양 클래스 추가만 하면 된다. (기존 코드를 건들지 않아도 됨)
    -> 다형성도 지키고, 확장에 열려있는 코드가 된다.


-> 이런 느낌으로 설계하였다.

다른 글