Design Pattern?
디자인 패턴은 복잡한 코드를 정리하고 구조적으로 작성하게 해주는 방법이다. 여러가지 디자인 패턴이 있지만 모든 앱에 사용할 수 있는 최고의 디자인 패턴은 존재하지 않는다. 어떤 앱을 만들건지에 따라 혹은 개발자가 코드를 짜는 취향에 따라 다양한 디자인 패턴이 사용될 수 있다.
Model-View-Controller

역할
- Model : 데이터와 로직을 관리
- View : UI를 화면에 표시하거나 이벤트의 처리를 관리
- Controller : Model과 View의 중간 다리 역할로, 뷰로부터 이벤트를 받아서 모델에 데이터를 요청하고 모델로부터 받은 데이터를 이용해 뷰에 변경사항을 적용한다.
특징
- 뷰나 컨트롤러를 변경할 필요 없이 모델만 변경하므로써 앱을 변형시킬 수 있다.(재사용성, 모듈화)
- 에러를 줄이고 코드를 알아보기 쉽게 만든다.
- 간단한 앱을 만들때 사용하기 좋지만 복잡한 앱을 만든다면 뷰 컨트롤러가 너무 커지는 단점이 있다.