본문 바로가기
개발 관련/모델 세미나 정리

What-How 에 대해 (2)

by lazysnack 2022. 7. 14.

What - How (2)

What 이란 개념적인 용어로 설명? 해야한다.
hasCardBoard() 이런걸로 만들면 How의 연장선상이 될 수 있음 (이 부분이 들으면서 어려웠던 부분이고, 다시 생각하게 하는 부분. 여태까지 if(ass == 1) 이런 형식만 단어로 바꾸듯 했는데,
크게 생각하지 않고 했던 것 같음. 분명 저런 식으로 바꾼 게 있을 것임. 앞으로는 그 부분을 생각하면서 최대한 추상적(?) 으로 이름을 지을 수 있게 해야겠음)
--> 결론 : 이름을 잘 짓자(?!)

  • What 과 How 를 잘 불리하는 방법은
  1. Extract Method
  2. static Method
    1의 경우는 메소드 추출 자체는 나름 한다고 생각한다. 하지만, IntelliJ 에서 메소드 추출하는 방법은 자세히 모름 -> 이 부분 상세히 알아서 다음부터는 단축키를 통해 메소드를 추출할 수 있도록!
    static Method 의 경우는 주로 Util 클래스 같은 곳에서 본 것인데, 그런 건가??

What 이 내포하는 것?

구현을 생각하지 않는 것.
구현하려하는 것의 현실적인(개념적인?) 로직
Ex) 주문이라는 Aggregate 가 있을 때 MemberId 는 속성이 아닐 수 있다. -> 도메인적으로 생각하면 MemberId 보단 주문한 회원이 됨, 물론 주문한 회원을 MemberId 로 표현할 가능성도 있음 (있지만 굳이..?)

결국 What 은?

추상화를 가능하게 하며, 의미를 부여해준다.

  • 아에 백지인 상태에서 들었으면 오히려 이해가 빠르게 됐을 것 같다.
    기존에 구현하던 구조(?) 를 생각하면서 아, 이게 여기에 매칭하면 되겠고, 저건 저기에 매칭할 수 있겠다 라고 생각했더니, Repo 영역이 나오고 하면서 더 헷갈려 지고 있다.
    Infra 쪽을 Mapper 혹은 XML 쪽으로 생각했는데, 설명을 듣다보면 또 아닌거 같고, 계속 듣다보면 어라 외부 통신인가? DB 직접인가? 그러면 내가 생각하는 부분은 어딜로 생각해야 하는거지? 의문이 계속드는데...
    기본이 부실하니 더 그런것 같다. 역시 Back To Basic 인가..?

'개발 관련 > 모델 세미나 정리' 카테고리의 다른 글

What-How 에 대해 (1)  (0) 2022.07.14
Aggregate, Value  (0) 2022.07.14
모델  (0) 2022.07.14
기능, 역할, 책임  (0) 2022.07.14