먼저 테스트 코드를 여러 케이스를 구분해서 작성하다보니 클래스마다 역할을 분배해서 작은 기능부터 만들었는데요.
컴포넌트 별로 추상화된 퍼블릭 메서드를 열어두고 조건에 따라 사용해서 내부 로직은 변동되더라도 유연하게 사용하려는 처음 목적이었습니다! 그런데 조립하는 과정에서 중복되는 로직이 자꾸 생긴거 같아서 더 혼란이 가중된거 같아요. 좋은 제안 감사...
초기에 모든 유효성 검사를 분리하려고 클래스를 따로 빼두었는데, 모델 유효성 검사만 적용하였네요.
여러개의 클래스로 다시 분리해야할지 고민하다가 저도 정확한 판단이 서지 않아서 구현하는 과정에서 개별 클래스에서 유효성 검사를 진행했습니다! 다음번엔 원래 목적대로 다른 패턴을 사용해서 분리하는 쪽으로 가볼 생각이에요!
calculate라는 메소드 안에서 패턴분리하고 계산까지하는 로직이 하나로 합쳐셔 있는 것 같아서 [SRP 원칙](https://inpa.tistory.com/entry/OOP-%F0%9F%92%A0-%EC%95%84%EC%A3%BC-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EB%8A%94-SRP-%EB%8B...