본문 바로가기

모델 세미나5

What-How 에 대해 (2) What - How (2) What 이란 개념적인 용어로 설명? 해야한다. hasCardBoard() 이런걸로 만들면 How의 연장선상이 될 수 있음 (이 부분이 들으면서 어려웠던 부분이고, 다시 생각하게 하는 부분. 여태까지 if(ass == 1) 이런 형식만 단어로 바꾸듯 했는데, 크게 생각하지 않고 했던 것 같음. 분명 저런 식으로 바꾼 게 있을 것임. 앞으로는 그 부분을 생각하면서 최대한 추상적(?) 으로 이름을 지을 수 있게 해야겠음) --> 결론 : 이름을 잘 짓자(?!) What 과 How 를 잘 불리하는 방법은 Extract Method static Method 1의 경우는 메소드 추출 자체는 나름 한다고 생각한다. 하지만, IntelliJ 에서 메소드 추출하는 방법은 자세히 모름 -> 이.. 2022. 7. 14.
What-How 에 대해 (1) What - How 에 대해 What 상위 수준의 개념적인? 그런 느낌의 말 Ex) 좌회전을 한다. How 실제로 어떻게 했는가? 에 대한 What 에 대한 대답? Ex) 핸들을 좌측으로 돌린다, (기어를 어쩌구 저쩌구....라는 상세한 말이 될 수도 있고) What 에는 의도(Intent) 가 들어있음. How 는 다른 How 의 What 이 될 수 있음. 개발자의 단점이자 장점 = 구현부터 생각함 (근데 이건 당연한 것이라 생각함. 개발자라는 건 일종의 Creator 라고 생각함. 즉 무언가를 실제적인 결과물로 만들어내는 것이 개발자임. 당연히 누군가가 추상적인 말을 했을 때 그것을 어떻게 구현할까라는 건 당연한 귀결이라 생각, 하지만 이로 인해 요구사항을 곡해하면 그건 그것대로 문제...) What.. 2022. 7. 14.
Aggregate, Value 중요한 도메인 로직은 도메인으로 하자. Service Layer 에 set 메소드가 있으면 일단 의심 -> 이 부분을 도메인 영역으로 변경할 수 있도록 하자 Aggregate Entity + Value 의 개념 (포함관계에 있다, 즉 여러개의 Entity + Value 의 모음이 될 수 있음.) (라이프 사이클이 동일할 가능성이 높다) Aggregate 에 Root 를 만들고, 일관성(Consistency)이 깨지지 않도록 Root에 책임을 부여 일관성이란 구성요서들 간의 불일치가 존재하지 않는 것. 즉, Root 를 통해서만 하위 Value 들을 변경할 수 있도록 함. (여기서 value 가 자신만의 pk 를 가지고 있지 않기 때문에 value 임.. Entity는 DB 로 봤을 때 pk가 포함된 테이.. 2022. 7. 14.
모델 Model user - 상호작용(UI) -> 로직(Service) 인프라 (DB, 메일등) 으로 구성되어 있다고 했을 때, 로직 인프라 는 관계는 없으나, 없으면 안되는 그런 존재이다. 기존의 Service - DAO DTO 구조는 관련된 것이 한 곳에 모이지 않음. (High Cohension 이 되지 않음, 즉 구조 파악이 어려움) 그리고, 도메인을 잘 표현하지 못한다. 여기서 의문은 도메인 이라는 말의 개념인데.. (이 부분은 추후에 따로 알아보도록 함) 일단, Data + 기능 이라고 할 수 있다. 도메인은 1) Entity - DB의 pk에 준하는 변수를 가지고 있으며, Value 를 가지고 있음. 본인 변수에 대한 제어를 하며 자기 자신의 라이프 사이클을 가지고 있다고 할 수 있다. Ex) A.. 2022. 7. 14.
기능, 역할, 책임 회사에서 진행하는 모델에 관한 세미나를 듣고 내용을 정리하고자 함. (1시간 가량 진행) 중간중간 개인 의견 들어갈 수 있음. 1. 기능 기능이란 사용자 시스템 간의 상호작용 Input -> 기능 -> Output 으로 간단하게 말하면 Input 과 Output 이 키포인트라고 할 수 있음. Input과 Output 는 각각 2가지가 있을 수 있음. Input 파라미터 DB 같은 곳에서 들어오는 정보 (이 부분은 이해가 갈 듯하면서 뭔가 파라미터 보다는 개념적인 느낌이 들었기에 확실하게 이해가 되진 않았던 부분) Output return 직접적인 return 보다는 한 행위로 인해 실행되는 결과? (예를 들면, 1.의 return 은 성공,실패 등의 상태값이 될 수 있고, 2.는 행위라고 생각됨) 기능은.. 2022. 7. 14.