`final`은 불변한다는 의미를 가지고 있는데 저 친구는 구분자를 추출할 때마다 변경되는 친구기에 안붙이려고 했던 것 같습니다!
또한, `ArrayDeque`를 사용하는 이유는 `addLast()` 와 `removeFirst()` 메서드를 통해 큐 구조를 사용함으로써
`특수 구분자가 있다면, 일반 구분자보다 먼저 처리를 진행한다` 는 저만의 생각...
네 감사합니다!
상수로 나타내는 방법은 확장이나 유지보수 측면에서 정말 좋다고 생각합니다.
하지만, 지금 프로그램에서 index 1과 같은 숫자를 상수로 나타내면 오버엔지니어링이 되지 않을까 생각합니다.
왜냐하면, 현재 index 1은 특별한 의미를 가지고 있지만 계산기를 구현하는 데 다른 곳에서 쓰일 일은 없다고 생각합니다.
오히려, ...
일단 생성자에서 초기화한 delimeter는 기본 구분자입니다.
또한, 서비스 계층에서 입력 값의 형태에 따라 추가 구분자가 있는 경우 구분자를 추가해주었습니다.
이 과정에서 만들어진 StringAddCalculator는 올바른 입력 형태만 가지게 된다면 '기본 구분자는 무조건 가진다'라고 생각하였습니다. 그래서 위처럼 구현했습니다.
하지...
잘 봤습니다. mvc 패턴을 적용하시려고 노력하신 점이 보이네요. 네이밍 커벤션을 잘 지키고 이름을 잘 지어서 가독성 있는 코드를 작성하려고 한 것 같습니다. 원시값을 감싸는 클래스를 구현한 것도 제가 추구하는 방향과 비슷하네요. 다음 미션 코드들도 빨리 보고 싶습니다.
잘 봤습니다. mvc 패턴을 적용하시려고 노력하신 점이 보이네요. 네이밍 커벤션을 잘 지키고 이름을 잘 지어서 가독성 있는 코드를 작성하려고 한 것 같습니다. 원시값을 감싸는 클래스를 구현한 것도 제가 추구하는 방향과 비슷하네요. 다음 미션 코드들도 빨리 보고 싶습니다.
`run`메서드의 이름 변경을 고려해볼 수 있다고 생각합니다.
CalculatorController가 이벤트에 대해서 하나의 기능만 할 수 있는 클래스로 생각되게 하는거 같습니다.
해당 메서드에서 사용하는 domain,view 객체 조합이 어떤 동작을 나타내는지 표현할 수 있는 이름이면 좋을거 같습니다