MVC, MVP, MVVM, VIPER, Clean Architecture 등 아키텍처가 너무 많다.
여러 매체를 통해 찾아보게 되면 정말 많은 설명들이 있지만
그 핵심은 개념적으로 존재하는 것을 실체화 하기 위한 기술적 정의 라 생각한다.
수많은 아이디어와 기획들을 통해 제품과 서비스가 만들어지고,
개발자는 여러 환경과 상황을 고려해 그것들을 설계하게 된다.
이때 설계를 통해 나오는 결과물이 아키텍처라 생각해 위와 같이 정리해보았다.
환경과 상황에 맞게 아키텍처가 설계되지만 고려되는 요소가 비슷하다면 반복되는 형식이 생기고,
그걸 정리해 놓은 것이 MVC, MVP, MVVM, VIPER 같은 다양한 아키텍처 패턴이다.
그래서 어떤 패턴이 더 좋다 나쁘다는 큰 의미는 없다고 생각한다.
아키텍처 패턴은 절대적인 룰을 가진다는 것보다는 "이렇게 쓰면 좀 더 용이하더라~" 를 모아둔 것이기에
본인에게 주어진 상황에 맞는 패턴이 있을수도 있고, 없다면 조합하거나 새로운 패턴을 만들면 되는 것이다.
실제 업무나 개인적으로 사용해본 아키텍처 패턴에 대해 정리할 예정이고,
동일한 기능을 여러 패턴을 통해 구현하면 어떻게 달라지는지를 중점으로 진행하고자 한다.