DataBinding Library 이용하면 안드로이에서 구현이 쉽지 않고 쓸때없이 많은 클래스를 생성했던 단점을 극복하면서 MVP나 MVVM 같은 패턴을 구현할 수 있다. View는 화면에 Model이 가진 데이터를 보여주는 역할을 한다. 이 부분은 DataBinding Library가 데이터바인딩을 통해 자동으로 처리해 준다.Model 데이터의 값과 상태를 보관한다. View가 뭔지에 대해서는 전혀 신경쓰지 않기 때문에 뷰를 조작하는 코드는 사용하지 않는다.ViewModel은 View와 Model 사이에서 두 레이어를 중계해 준다. 사용자의 interaction을 받아서 데이터를 변경해주는 역할을 한다. 비지니스 로직은 ViewModel 레이어에 위치한다고 볼 수 있다. 이런 Design Patter..
ButterKnife vs Data Binding 뷰바인딩을 위해 ButterKnife를 써오셨던 분들이 많을 것이다. 리플렉션을 사용하지 않아서 퍼포먼스에 영향을 주지 않고 어노테이션 반으로 많은 보일러 플레이트 코드를 작성하지 않아도 도와주었던 안드로이드 개발자들의 친구였다. 하지만 이제 그 자리를 Data Binding Library에게 내주어줄 때가 된 것 같다. 왜냐하면 Data Binding Library하나로 ButterKnife의 핵심 기능이었던 뷰바인딩은 기본이고 모델을 뷰에 바인딩 해줌으로써 훨씬 더 진보된 바인딩을 할 수 있기 때문이다. 그리고 어노테이션을 작성해 줄 필요도 없고 한번에 레이아웃을 바인딩 객체 안에 읽어 들임으로써, 모든 뷰에 접근을 할 수 있다. 그렇다고 퍼포먼스에 ..