💡 아키텍처란?
기능(functionality), 조직(organization), 구현(implementation)에 대한 법칙과 방법을 통칭한다
클린아키텍처 : 소프트웨어 시스템의 아키텍처란 시스템을 구축했던 사람들이 만들어낸 시스템의 형태다.
Ralph Johnson (GoF) : the important stuff Whatever that is. (중요한것들 뭐든간에)
아키텍처의 구조
💡아키텍처를 결정할때 가장 늦게 결정하는 것이 좋은 것이라고 한다.
예를들어, 어떠한 데이터를 저장할때..
DB에 저장할지, 파일에 저장할지, 디바이스에 저장할지 등등
가장 늦게 결정할 수 있는게 가장 좋은 아키텍처라고 한다.
이는, 어떠한 행위를 개발할 때 제약이 있는 구조가 아니라 열려있는 구조로 아키텍처를 구성하는 것이라고 생각된다.
💡아키텍처에도 상위/하위수준 이 존재한다.
ex) 파일암호화 개발
상위수준
A 파일을 암호화해서 B파일에 저장한다.