본문 바로가기
반응형

Programming/Architecture3

[Architecture] MVC, MVP, MVVM Pattern 아키텍처 패턴 (Architecture Pattern) 아키텍처 패턴은 공통적으로 자주 발생하는 문제를 재사용 가능하도록 패턴화한 것이다. 4대 아키텍처 현대에는 4개의 주요 아키텍처를 사용한다. MVC (Model-View-Controller) MVP (Model-View-Presenter) MVVM (Model-View-ViewModel) MVI (Model-View-Intent) MVC 패턴 MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인패턴이다. 뷰(view) 사용자 인터페이스 - UI 구성 모델(Model) 애플리케이션의 데이터 - data 저장 - 비즈니스 로직의 집합 (data 처리) 컨트롤러(Controller) view-model 사이의 .. 2024. 1. 13.
SDK vs API SDK(System Development Kit) SDK는 프로그래머가 다양한 플랫폼용 애플리케이션을 구축하는 데 필요한 소프트웨어 도구와 앱이 포함된 키트이다. 여기에는 디버거, 컴파일러, 코드 라이브러리, API, IDE 등 앱 모듈을 만드는 데 필요한 모든 것이 포함된다. 어떤 언어를 대상으로 하던지에 상관없이 SDK가 있을 수 있지만, 대상이 되는 특정 플랫폼이 존재하므로 해당 SDK가 어떤 목적을 가지는 지 파악하는 것이 중요하다. 완벽하진 않지만, 쉽게 비유를 하자면 컨테이너 박스로 이뤄진 하나의 주상복합 건물로 표현할 수 있다. 각각의 컨테이너 박스에는 식당과 세탁소, 편의점 등 여러 시설이 있다고 생각해보자. 의사소통만 통한다면 어떤 인종이 오든 물건을 구매하거나 밥을 먹을 수 있을 것이다.. 2023. 4. 11.
프레임워크(Framework) vs 라이브러리(Library) 프레임워크 (Framework) Frame (틀/규칙) + Work (일)의 합성어로, 어떠한 일을 하기 위한 뼈대/구조를 의미한다. 소프트웨어의 전체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게 하는 것이 목적이다. 따라서 애플리케이션 개발 시 필수적인 코드와 DB 커넥션 등의 기본 기능들을 제공하며, 개발자는 이러한 뼈대 위에서 추가적인 개발을 하는 것으로 기능을 추가할 수 있다. 앱/서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분을 프레임워크가 관리하며, 사용자는 프레임워크가 정해준 방식대로 클래스, 메서드들을 구현하면 된다. 한 번쯤 들어봤을 JAVA 서버 개발의 Spring 웹 개발에 사용되는 Angular, Vue.js 등도 모두 프레임워크의 일종이다. 이해를 쉽게 하기 .. 2023. 4. 11.
반응형