즉 제일 작은것부터 순서대로



path를 생각한다-> 이 path에 따라서 어떻게 움직일지 생각한다


이런 느낌으로


근데 프로그래밍 짤때는 대부분 객체지향 방식을 함


이 클래스와 이 클래스들끼리 연결해서 층위를 나누어 둬서 SOC를 달성한다


그리고 이 클래스 연결에 통신에 비동기일경우 여기에 함수형 지향을 함.


함수형은 스택 프레임을 매번 생성하는 단점이 있지만 비동기일 경우 불변성 때문에 데이터가 보장이 되니까


그리고 나서, DTO와 VO를 할때는 이 데이터 플로우를 설정하는 그 그림을 그림


즉 지향이라는 걸 추상화 기법을 어느 시기에 어떻게 적용하는 것이냐


그게 바로 프로그래머의 경험이 만들어내는 멘탈 모델인거지.


야구로 따지면 공을 때린다는 목적을 위해서 당연한 타구 타법을 야구 선수들이 만들어내고, 가령 포크볼에서는 X타법, 직구에서는 Y타법 이런식으로


그 방법론이 프로그래머는 프로그램을 만든다는 목적을 위해서 주어진 문제에 따라서 추상화 기법을 바꾸는 것


그게 프로그래머의 멘탈 모델임