[플레이그라운드] TDD, 클린 코드 (7) - 좌표계산기 (피드백 전)
2023, Oct 25
전체 코드
https://github.com/Kyuyoung11/java-coordinate-playground-main/tree/second
기능 목록
[기능 목록]
1. 좌표 입력 받기
2. 입력받은 문자열을 배열로 변환
3. 좌표 계산기 생성
3-1. 배열 사이즈에 따라서 선/사각형/삼각형 결정
4. 좌표 출력
5. 면적 출력
팩토리 메소드 패턴 사용
배열 사이즈에 따라서 선/사각형/삼각형을 결정하는 부분을 팩토리 메소드 패턴을 사용해 구현함.
팩토리 메소드 패턴?
- 객체를 생성할 때 필요한 인터페이스를 만들어서, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정한다.
팩토리 메소드 패턴 사용의 장점
- 선/사각형/삼각형에 새로운 모양을 추가하려면, 팩토리 클래스와 새로운모양 클래스 추가만 하면 된다. (기존 코드를 건들지 않아도 됨)
-> 다형성도 지키고, 확장에 열려있는 코드가 된다.
-> 이런 느낌으로 설계하였다.