🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

[학습일기] 디자인 패턴 관련 학습 정리 - 실습 관련

개요

  • 스프링 입문 강의의 예제 코드 강의를 보고 따라해보면서 모듈화를 하는 전략에 대해서 고민하고 어느 정도 정해진 루틴을 생각해보았습니다.

  • 기본적으로 이 정해진 루틴으로 초안을 작성하고 나서 상황에 맞는 리팩토링하는 방법으로 빠르게 설계 및 구현을 시도해볼 계획입니다.

     

루틴

  • 먼저 구현하고자 하는 기능을 책임으로 나눕니다.

  • 책임을 더 작은 책임들로 분할합니다.

    • 이 때 책임의 분할에 도움이 되는 전략으로는 다음을 사용하였습니다.

      • 책임을 수행하기 위해 필요한 정보에 따라서 분할하였습니다.

        • 예를 들면 어떤 정보는 객체를 생성할 때만 필요하고 사용할 때는 필요하지 않을 수 있습니다.

        • 이 이유로 저번 블로그 글에서 디자인 패턴을 관심사의 분리 측면에서 관찰하게 되었습니다.

      • 같은 맥락에서 사용되고 변하는 정보의 경우 맥락을 객체로 캡슐화하였습니다.

      • 다른 맥락에서 사용되는 정보의 경우, 다른 객체에서 정보를 제공할 수 있도록 책임을 분할하거나, 분할이 어려운 경우 고차함수를 이용해서 책임을 따로따로 주입할 수 있도록 하였습니다.

    • 지금 생각났는데 일단 구현하고 나서 리팩토링하는 것도 시도해볼 만한 전략인 것 같습니다.

예시

  • 많이 많이 부끄럽습니다만 해당 커밋에 코멘트 형식으로 사고 과정을 달아놓았습니다.

    • 원래 공개할 계획이 없던 리포지토리다 보니 깔끔하지 못한 부분이 있습니다. 죄송합니다ㅠㅠ

      • 앞으로는 비공개 리포도 깔끔하게 정리해야겠습니다.

댓글을 작성해보세요.


채널톡 아이콘