본문 바로가기

디자인패턴4

모바일 앱 아키텍처 종류와 특징 (MVVM, MVC, MVP, MVI) 이번주 스터디 그룹의 주제는 디자인 패턴 중 앱 아키텍처 패턴으로, 대표적인 4가지 아키텍처에 대해 살펴보고자 합니다. 🔧 아키텍처 패턴(설계 패턴)이란 사전적 정의로 아키텍처 패턴은 공통적으로 자주 발생하는 문제를 해결하는 재사용 가능한 해결방법입니다. 이는 소프트웨어 아키텍처보다 큰 범주를 가집니다. 과거 UI를 가진 프로그램에서 데이터를 기반으로 화면에 렌더링 할 책임이나, 비즈니스 로직을 아까 말한 책임과 함께 묶는 방법에 대한 정의가 명확하지 않았습니다. 아키텍처 패턴은 이를 해결하기 위해 만들어진 디자인 패턴입니다. 🔧 모바일 앱 4대 아키텍처 아래 4가지는 현대 개발자가 주로 사용하는 아키텍처로, 밑에서 이들의 차이점을 설명하고자 합니다. MVC (Model-View-Controller) M.. 2023. 2. 15.
클린 아키텍처(Clean Architecture) 개념 및 원칙 개발이란 마치 여러 개의 기반이 되는 블록을 만들어 설계 원칙에 따라 조립하여 완성해 나아가는 과정이라고 생각합니다. 여기서 설계 원칙은 수 많은 디자인 패턴들을 의미하며, 이번 주는 아키텍처 패턴에 속하는 클린 아키텍처에 대해 알아보는 것으로 이번 주 스터디 그룹의 주제를 선정하였습니다. 화자는 실무에서 MVVM 패턴과 클린 아키텍처를 함께 사용 중이나, 이 둘에 대한 설명에 명확한 답변을 할 수 있을지 의문을 가져 이번 기회에 명확히 알아두고자 합니다. 클린 아키텍처를 사용해야 하는 이유 기원 엉클 밥(Robert C. Martin)은 애자일 방법론의 지지자이자, SOLID (객체지향 설계 원칙)의 창시자로 알려져 있습니다. 그는 'Clean code'와 'Clean architecture'등의 책의.. 2023. 2. 1.
소프트웨어/앱 빌드버전 관리 규칙, Semantic Versioning (시맨틱 버저닝) 버전 관리 어떻게 해야할까? 안드로이드 앱을 개발하거나 소프트웨어 등을 만들면 보면 항상 명시하는 것들이 있죠 (앱 이름, 제작자, 라이센스 등) 그 중 오늘 찾아본 버전(Version) 관련 내용을 기록해보려합니다. 사실 버전은 소프트웨어가 동작하는데에는 영향을 미치지 않지만, 이 프로그램이 언제 만들어졌는지, 어떠한 기능이 추가되고 바뀌었는지, 패키지의 변화를 구분하기 위해서 반드시 필요한 존재입니다. 파이썬2로 만들어진 프로그램이 파이썬3에선 안돌아가듯 이를 구분짓는 좌표니까요 그런데 이 버전 마음대로 만들어도 되는것인지 묻는다면.. 개인이 만든 소프트웨어면 상관없을지 몰라도 기업에서 공동으로 제작하거나, 혹은 라이브러리를 배포하면 사용하는 개발자 입장에선 의미를 이해하고 적절한 버전을 사용하게 해.. 2022. 6. 4.
코딩 스타일/프로그래밍 네이밍 표기법 종류와 규칙 (Naming Convention) 네이밍 규칙 (Naming Convention) Subject 개발 과정에 Resource 나 Source 파일, Class나 Object의 이름 또는 변수, 타입, 함수, 그 외 Entity, Document의 이름 명명 규칙을 알아봅니다. 네이밍 규칙(Name Convention)을 사용하는 이유 소스 코드를 읽고 이해하는데 필요한 비용 절약 코드 리뷰 시 이슈에 좀 더 집중할 수 있도록 도와줍니다. Code quailty review tool이 구문 및 스타일 설정 이외에 중요한 결함에 대해 알려줄 수 있도록 도와줍니다. 네이밍 규칙은 현재까지도 의견이 갈리는 부분으로, 각 언어별로 권장하는 Convention에 차이가 있으며 회사나 팀에서 자체적인 규칙을 정하여 사용하기도 합니다. 이 글에서는 현.. 2022. 5. 6.