개발자는 대게 2가지로 분류

기술 주의

대상을 **물리적인 기술**에 기준하여 해석하고 평가하는 사고 방식

논리 주의

대상을 **추상적인 논리**에 의해 해석하고 평가하는 사고 방식

대상 을 해석하고 평가할때, 두 가지 주의로 바라보면 대상을 바라보게 된다


추상화 & 구체화

구체화가 모여 추상화가 된다 구체화가 추상화에 의존 구체화는 추상화가 없이 존재할 수 없다?


그렇다면, 소프트웨어는 어떨까요? 예시들을 살펴보겠습니다

Command Pattern

개체 자체가 명령이다

아래 예시는, 구체화(기술)의 관점에선 동일하지만, 추상화(논리)의 관점에선 동일하지 않다고 볼 수 있다

class SaveCommand() {
	void Execute() {
	}
}

class Save() {
	void Run() {
	}
}

API로써, HTTP 통신의 단점

도메인을 풀어낸 원격지의 API 호출 계약