티스토리 뷰
MVC 패턴
Model : Data class 또는 Data를 얻어오기 위한 기능을 구현한 class ( 즉, 데이터 처리를 담당하는 클래스 )
View : 사용자와의 interface 를 위한 기능을 구현한 class ( 즉, 사용자에게 어떤 정보를 보여주거나 사용자로부터 입력을 받는 역할 )
Control : View로부터 들어온 사용자 입력을 해석하여 Model을 이용하여 데이털르 처리한 다음 처리 결과를 View에게 전달하여 보여주는 역할을 담당하는 class ( 즉, 어떤 Model이 데이터를 처리할지, 어떤 View를 사용자에게 전달할지를 정하는 역할)
OOP (Object Oriented Programming) : 객체지향프로그래밍으로 재사용을 위해 각 기능들을 객체 형태로 분리시켜놓음.
MVC는 OOP에서 어떤 단위로 class를 만들어야 하는가에 대한 지침
Android 에서 MVC 패턴을 적용하면 ...
View : TextView, Button, ImageView, EditText, ListView 등
Control : Activity, Fragment, Adapter 등
Model : Loader, LoaderManager, Location, LocationManager 등
=> 그러나, 안드로이드 앱은 View와 Control를 구분하기 어려워... 사용자의 입력을 받는 부분과 보여주는 화면이 동일한 화면에서 처리되기 때문에 ... -> MVP 나 MVVM 디자인 패턴을 적용함.
Singleton 패턴 : 인스턴스를 하나만 생성하여, 생성된 인스턴스를 공유하도록 하는 설계방법 (데이터 불일치를 해결하기 위해 사용 )
Observer 패턴(Listener Pattern) : 데이터의 상태변화를 관찰하는 설계방법(Oberver를 객체에 등록해 놓으면, 객체는 상태가 변경될 때마다 등록된 Observer에게 알려줌)
참조
Android Application 프로그래밍 고급 11강 구조화 1 | T아카데미
'android' 카테고리의 다른 글
[android] MIME Type (0) | 2020.05.29 |
---|---|
[android] android clean architecture - 계속적인 업데이트 필요 (0) | 2020.05.28 |
[android] 안드로이드 개념 - 애플리케이션 구성요소 (0) | 2020.05.28 |
[android] 안드로이드 개념 - ANR (0) | 2020.05.28 |
[android] 안드로이드 개념 - ViewHolder (0) | 2020.05.28 |