본문 바로가기

# 02/코틀린

[Kotlin] Architecture

반응형

어떠한 구조를 선택하는 게 좋은가?


- 깔끔한 코드 분리가 가능한가?

- Testing 가능한 구조를 만들 수 있는가?

- View와 Model 간의 관계를 분리할 수 있는가?

- 많은 코드를 손대지 않고, 유지 보수 가능한가?



안드로이드에 잘 맞는 Architecture는?


class MainActivity : AppCompatActivity() {


override fun onCreate (savedInstanceState : Bundle? ) {

// ex) 업데이트 버튼

val fab = findViewById(R.id.fab) as FloatingActionButton

fab.setOnClickListener {

// 데이터 갱신 요청

// Model에 접근해서 최신 데이터를 요청

// ex) fun getItems() : arrayList<>()

// 전달받은 items를 이용해 View 갱신

}

}

}



- Activity / Fragment / Adapter

  - View / Control 역할을 함께한다.

  - ex) OnClickListener

  - Adapter의 경우 Control / Model 도 가질 수 있다.




- MVC : Model View Control

- MVP : Model View Presenter

- MVVM : Model View ViewModel




결론

- 팀 내에서 잘 맞는 Architecture을 선택이 필요

  - MVC는 View에서 모델을 사용하기 때문에 공통 코드를 잘 분리해야 한다.

  - MVP/MVVM은 기본적으로 View/Model 간의 결합도를 낮출 수 있다.

- 컴포넌트 분리를 함으로써 테스트 가능한 코드를 작성해야 한다.





MVVM Architecture Components


- Android an Architecture

- Lifecycle Components

- LiveData

- Room Database



반응형

'# 02 > 코틀린' 카테고리의 다른 글

[Kotlin] MVP 패턴 소개 2  (0) 2019.07.15
[Kotlin] MVC 패턴 소개 1  (0) 2019.07.15
[Kotlin] SAM Class  (0) 2019.07.15
[Kotlin] Generics  (0) 2019.07.15
[Kotlin] 유용한 kotiln Standard 라이브러리  (0) 2019.07.12