김누누
close
프로필 배경
프로필 로고

김누누

  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
  • 깃허브
  • 글쓰기
  • 설정
MVP Pattern

MVP Pattern

💡 디자인 패턴 중에 하나인 MVP 패턴에 대하여 학습하였습니다 ! MVPMVP는 Model, View, Presenter를 합친 용어이며, MVC에서 C에 해당하는 Controller가 Presenter로 교체된 패턴입니다.자동화된 단위 테스트를 용이하게 하고, Presenter 로직에서 관심사를 분리하도록 설계 된 사용자 인터페이스 아키텍처 패턴입니다.MVC와의 차이MVC에서는 Controller를 통해서 직접적으로 View에 접근하기 때문에, Controller와 연결 된 Model과 View는 서로 어느정도의 결합도가 있다고 볼 수 있습니다.하지만 MVP는 오직 Presenter와 인터페이스를 통해 메시지 전달하기 때문에 분리된 책임(Separation of Concerns)를 얻을 수 있습니다..

  • format_list_bulleted [Android] Architecture/Architecture Pattern
  • · 2024. 8. 30.
  • textsms
MVC Pattern

MVC Pattern

💡 디자인패턴 중에 하나인 MVC 패턴에 대하여 학습하였습니다 ! MVCMVC는 Model, View, Controller의 약자로 하나의 애플리케이션이나 프로젝트를 구성할 때 구성요소를 세가지 역할로 구분한 패턴입니다.사용자가 controller를 조작하면 controller는 model을 통해서 데이터를 가져옵니다.그 데이터를 바탕으로 시각적인 표현을 담당하는 View를 제어하혀 사용자에게 전달합니다.MVC의 특징MVC 패턴을 적절하게 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리할 수 있습니다.애플리케이션의 시각적인 요소와 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있습니다.ModelData와 애플리케이션의 내부 비즈니스 로직을 처리하기 위한 역할..

  • format_list_bulleted [Android] Architecture/Architecture Pattern
  • · 2024. 8. 30.
  • textsms
[Android, Multi Module] 멀티 모듈을 위한 구조 설계

[Android, Multi Module] 멀티 모듈을 위한 구조 설계

다중 모듈 탐색 권장사항유연성을 통해 탐색 그래프를 결합하여 앱의 완전한 탐색 그래프를 구성할 수 있다.- 단일 대상 활용 (fragment)- 일련의 관련 대상을 캡슐화하는 중첩 그래프- 중첩된 것처럼 다른 탐색 그래프 파일을 삽입할 수 있는 요소 활용 아래 예는 각 기능 모듈이 한 기능에 중점을 두고 이 기능을 구현하는 데 필요한 모든 대상을 캡슐화하는 단일 탐색 그래프를 제공한다.프로덕션 앱에는 이 상위 수준 기능 모듈의 구현 세부정보인 하위 모듈이 하위 수준에 여러 개 있을 수 있다.이러한 모듈은 간접적으로 App 모듈에 포함되어 진다.  각 기능 모듈은 자체 탐색 그래프와 대상이 있는 독립된 단위이다. (내비게이션 메뉴)app 모듈은 각각에 종속되므로 아래와 같이 build.gradle 파일에..

  • format_list_bulleted [Android] Architecture/[Android] Multi Module
  • · 2023. 7. 29.
  • textsms
[Android, Multi Module] 멀티모듈 구성

[Android, Multi Module] 멀티모듈 구성

일반적인 모듈화 패턴 멀티 모듈로 프로젝트를 구성할 때, 모든 프로젝트에 맞는 하나의 모듈화 전략은 없다. Gradle의 유연한 특성으로 인해 프로젝트를 구성하는 방법에는 제약이 없으며, 다중 모듈로 Android 앱을 개발할 때 일반적인 규칙과 공통 패터만 지킨다면 자신만의 모듈화 전략을 세울 수 있다. 규칙1. 높은 응집력 및 낮은 결합력 원칙 가장 중요한 방법은 결합력 및 응집력 속성을 사용하는 것이다. 결합력은 모듈이 서로 종속된 정도를 측정하고, 응집력은 단일 모듈의 요소가 기능적으로 관련된 방식을 측정한다. 일반적으로 결합력은 낮추고 응집력은 높여야 한다. [낮은 결합력] - 모듈이 최대한 서로 독립적이어야 한다. - 한 모듈의 변경사항이 다른 모듈에 미치는 영향이 없거나 최소화 되어야 한다...

  • format_list_bulleted [Android] Architecture/[Android] Multi Module
  • · 2023. 7. 29.
  • textsms
[Android, Multi Module] 멀티모듈의 개념과 장단점

[Android, Multi Module] 멀티모듈의 개념과 장단점

모듈화 ! 증가하는 코드베이스 문제 코드베이스에서 확장성, 가독성 및 저반적 코드 품질은 시간이 지남에 따라 감소하게 된다. 그 이유는 코드베이스 규모가 커지고 있음에도 불구하고 유지관리 담당자가 쉽게 유지관리할 수 있는 구조를 적용하기 위한 적극적인 조치를 취하지 않기 때문이다. 모듈화를 통해서 유지관리 가능성을 개선하고, 이러한 문제를 방지할 수 있는 방식으로 코드베이스를 구조화하는 방법이다. [모듈화] 모듈화는 코드베이스를 느슨하게 결합된 독립적인 부분으로 구성하는 방법이다. 각 부분이 모듈에 해당하며, 각 모듈은 독립적이며 명확한 역할을 한다. 하위 문제를 해결하기 위해 문제를 더 작고 쉬운 문제로 나누면, 대형 시스템 설계와 유지보수의 복잡성이 감소한다. 위 이미지는 다중 모듈 코드베이스에 종속..

  • format_list_bulleted [Android] Architecture/[Android] Multi Module
  • · 2023. 7. 29.
  • textsms

[DI,Android] Dagger2, Hilt 없이 의존성 주입 사용해보기

스터디 목적 DI의 원리를 이해하기 위해서 Dagger2와 Hilt 같은 의존성 라이브러리 없이 로그인 플로우를 구현하는 방식을 배운다. 의존성 라이브러리를 사용하지 않고 구현했을 경우, 차이점과 필요성을 알 수 있다. 우선 프로젝트 구조는 아래와 같다. [ Login Activity ] - > [ Login ViewModel ] - > [ UserRepository ] - > [ UserLocalDataSource ] - > [ UserRemoteDataSource ] - > [ Retrofit ] Login Activity에서 사용자가 데이터에 접근하면, Login ViewModel에 접근할 수 있다. Login Viewmodel은 userRepository를 생성해서 기능을 사용하게 되는데, use..

  • format_list_bulleted [Android] Architecture/[Android] DI
  • · 2023. 7. 25.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
전체 카테고리
  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
전체 방문자
오늘
어제
전체
태그
  • #코틀린
  • #안드로이드
  • #compose
  • #Coroutine
  • #우테코
  • #kotlin
  • #코루틴
  • #ViewModel
  • #알고리즘
  • #Android
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바