Skip to content

5. 첫 번째 구현 완료 및 회고

이건창 edited this page May 9, 2024 · 1 revision

결과물

  • 링크 : #1

헥사고날을 경험하고 느낀 일

  • 유스케이스 추가에 유연하다.
    • 헥사고날 아키텍처는 유스케이스를 표출하며 동시 작업이 쉬워진다는 장점이 있었다. 유스케이스를 한 곳에 격리한다는건 새롭게 생성되는 유스케이스에 유연하게 대처 가능하다라고 볼 수 있었다.
  • 한 번에 하나의 고민만 집중한다.
    • 복잡해질 수록 실수가 잦아지고 의미없는 스트레스만 늘어난다. 헥사고날은 각 레이어를 격리해 복잡도를 낮춰 작업의 퀄리티를 높일 수 있었다.

헥사고날의 의문점

  • 데이터 스키마 변경에 유연할까?
    • 외부 인프라 영역을 격리했으니 유스케이스에 영향이 가지 않도록 변경하기 쉽지 않을까 고민이 들었다. 그러나 아직 경험이 없어 단정짓기 어려웠다. 그래서 해볼 수 있게 해당 이슈에서 테스트를 진행해볼 예정이다.
  • 너무 많은 클래스가 만들어지지 않나?
    • 헥사고날은 포트마다 접근하기 위한 DTO가 만들어진다. 그럼 관리해야 할 클래스가 많아지지 않을까 우려스럽다. 그렇다고 pojo를 던지면 파라미터 관리가 어려워진다. 기능을 계속 추가해나가면서 어떻게 대응할지 경험치를 쌓을 필요가 있다.

진행하면서

  • 테스트를 작성하면서 어떤 책임까지 테스트 할지 고민을 하기도 했다. 가게 주인은 가게에 들어가 쿠폰을 게시하고 게시된 쿠폰 리스트를 조회하는 과정을 테스트 했을 때, 가게 주인이 쿠폰을 게시하고 잘 들어가는지 검증해야 할까?라는 생각도 들었다.

마무리

사내 스터디로 헥사고날 아키텍처를 공부했는데 최대한 장점 살리기를 목표로 달려나갔다. 의미없는 코드가 많아진다는 편견과는 달리 관심사 분리를 통해 복잡도를 줄이는 경험이 엄청 좋았다. 앞으로도 편식하지 않고 장점을 잘 활용할 수 있도록 고민해보며 즐겨보도록 하겠다.