BigJeon Android 개발 블로그
아키텍처가 대체 뭘까? 본문
오늘은 개발하면 빼놓을 수 없는 '아키텍처'에 대하여 포스팅해 볼까 합니다.
1.아키텍처란...?
흔히 개발을 공부하고 진행하다 보면 내가 다른 페이지에서 사용했던 기능이 다른 페이지에서도 겹치게 사용하는 경우가 정말 빈번한게 발생합니다. 그럼 우리는 두가지 선택을 할수 있는데
1. 기존코드는 그대로 두고 새로운 코드를 작성하여 ctrl+c, ctrl+v한다.
2.기존코드를 이곳 저곳에서 사용할수 있도록 전역 클래스로 만들어 준다.
대부분의 개발을 진행하는 분이시라면 2번 선택지를 선택하게 되는데. 코드 특성상 한가지를 바꾸게 되면 실제 바꿔야 하는 코드의 양을 2배 그 이상으로 늘어나게 되므로, 애초에 이러한 상황을 방지하는게 가장 실속있는 방법입니다.
그러기 위해선 마치 새로운 건물을 건설할때 설계도와 일정을 짜는것과 같이 계획과 구조를 잡아놓고 작업을 시작하면 되는데,
이렇듯 프로그램 개발에서 계획, 설계도를 '아키텍처'라고 표현합니다.
'아키텍처' 는 만들고자 하는 프로그램의 작동 구조와 개발시 사용되어야할 라이브러리들을 정의하여 구조를 설계하게 되는데,
'아키텍처'를 구성하는 일은 보통 초급개발자들 한테 맡겨지는 일은 거의 없습니다.
그 이유로는, '아키텍처'를 구성하기 위해선 해당 프로그램에 필요한 라이브러리들을 많이 알아야 하며, 많은 프로젝트 경헙을 통해 어떠한 구조가 관리하고 편리했는디, 또한 다른 코드들과 충돌되어 에러를 발생시키지 않는지,등등 많은 경험을 바탕으로 아키텍처를 구성해야 하기때문에, 중급 이상의 개발자들이 맡게되는 일입니다.
'아키텍처'를 보고 다른 파트너 개발자들이 개발을 시작하고 따라가기 때문에 잘못되거나 불 안전한 '아키텍처'아키텍처를 구축시 자칫 몇가지 에러에 모든 구조가 변경되고 수정돠어야 할수도 있기때문에, '아키텍처'를 구성하는 일은 매우 중요하며, 어느 작업보다 꼼꼼하게 구성되어야 합니다.
보통 '아키텍처'에 들어가는 내용으로는
위 사진과 같이 어느 구조로 응용프로그램을 작동하게 할건지, 사용하게 되고 이에 추가적으로 사용할 라이브러리, 패턴등 개발의 전박적인 내용을 모두 포함하고 있습니다.
마치며....
'아키텍처'를 만들고 구성하는 일은 아직은 나에게 맡겨지지 않을 수 있고, 또한 현재 개인 개발을 하는 초급 개발자의 경우 필요성을 못느낄수도 있습니다. 하지만 언제가 회사에서 해당 업무가 맡겨지거나, 프로젝트가 점점 규모가 커질시 '아키텍처' 구성은 반 필수 항목이기 때문에,미리미리 알아두고, 또한 회사나 협업시 의사소통의 문제가 발생되지 않도록 주의하면 좋을거 같습니다.
*참고 클린 아키텍처라는 책도 있을만큼 정보를 얻을수 있는 방법은 다양하니 참고*
'안드로이드(기술)' 카테고리의 다른 글
비동기 처리를 쉽게 해주는 Coroutine에 대하여 알아보자_2(최종) (0) | 2021.10.03 |
---|---|
비동기 처리를 쉽게 해주는 Coroutine에 대하여 알아보자_1 (0) | 2021.09.30 |
안드로이드 아키텍쳐 컨포넌트(AAC)란? 1)lifecycle (0) | 2021.05.25 |
안드로이드 4대 컴포넌트란? (0) | 2021.05.21 |
LiveData란?(추후 MVVM예제와 연결) (0) | 2021.03.28 |