기능 > 구조?기능 소프트웨어 아키텍쳐란 무엇이며, 우리가 왜 이것에 대한 고민을 해야할까. 소프트웨어를 작성하는데 있어서 구성 요소를 크게 나누자면, 기능과 구조가 있다고 볼 수 있다. 소프트웨어 아키텍쳐란, 이 중 “구조”에 해당하는 이야기이다. 소프트웨어를 작성할 때 요구사항을 만족시키기 위한 “기능”을 구현하는 것이 중요할까, 소프트웨어의 “구조”를 잘 설계하는 것이 중요할까. 책 ‘리팩토링’의 저자이자 세계적인 소프트웨어 공학자인 마틴 파울러는 결국은 구조가 중요하다는 이야기를 한적이 있다. https://youtu.be/4E1BHTvhB7Y 사용자에게 제공하고자 하는 기능을 구현하는 것(즉, 소프트웨어 개발의 요구사항을 만족하는 것)은 당연히 중요한 일이다. 그러나 지속 가능한 서비스라면,..