mvvm

MVVM 패턴? 그게 뭔데?? 사실 이러한 디자인 패턴 없이도 어떠한 프로젝트나 서비스를 운영하는 게 가능하다. 그렇다면, 왜 이러한 디자인 패턴이 계속 이슈화되는 것일까? 예를 들어 설명하자면, 패턴 없이 하나의 서비스를 구현하여 앱을 출시했다고 가정하자. 출시하기 전에 당연히 테스트를 마쳤을 것이고, 실제 출시 후 오류가 발생하지 않았다고 하자. 오류에 대한 이슈는 없지만, 만약 실제 사용자들이 기능에 대한 업데이트를 요구한다면? 실제 업데이트를 진행하려고 할 때 구조화되어 있지 않은 코드에서 새로운 기능을 추가하는 일은 쉽지 않을 것이다. 간단한 작업이어도 리소스가 많이 필요해지고, 심한 경우 하나의 코드를 추가하기 위해 전체를 바꿔야 할 수도 있다. 위의 예시처럼, 여러 가지의 기능들이 분리(구조..
데이터 바인딩이 가장 중요하다고 느껴서 따로 작성해보았다. 데이터 바인딩 외에 뷰에 대한 접근은 아래의 링크 참고~ https://ystech.tistory.com/entry/Android-View-%EC%A0%91%EA%B7%BC [Android] View 접근 서론 보통 지금까지 개발을 하면서, Android 클래스에서 뷰에 접근하려고 할 때 findViewById 방식을 사용해 왔다. 위의 방식을 사용하면서 접근해야 할 View가 많아지면 코드의 양도 많아지고 불편했 ystech.tistory.com 데이터 바인딩이란? 데이터와 뷰를 연결하는 작업을 레이아웃에서 처리하는 기술 UI Controller, ViewModel, LiveData 등과 자주 쓰이고 효과적 레이아웃은 흔히 UI 프레임워크 메서..
ViewModel이란? ViewModel은 비즈니스 로직 또는 화면 수준 상태 홀더이다. UI에 상태를 노출하고 관련 비즈니스 로직을 캡슐화한다. ViewModel을 사용하게 되면 Activity 간에 이동하거나 화면 전환을 따를 때 UI가 데이터를 다시 가져올 필요가 없다. 이러한 ViewModel은 위 클래스를 사용하지 않고, 일반 클래스로도 구현이 가능하다. 그러나 이는 Activity와 탐색 대상 간에 이동할 때 문제가 될 수 있다. 인스턴스 상태 저장 메커니즘을 사용하여 데이터를 저장하지 않을 경우 해당 데이터가 소멸된다. 이러한 점을 해결하기 위해 ViewModel은 데이터 지속성을 위한 편리한 API를 제공한다. ViewModel의 이점 UI 상태를 유지할 수 있다. 비즈니스 로직에 대한 액..
MVC/MVP/MVVM 패턴 학습 디자인 패턴을 사용하는 이유는 이러한 패턴 없이 자유롭게 코드를 작성하게 되면 규모가 커질수록 하나의 액티비티가 복잡하고 비대해져 문제가 생길 수 있고, 유지보수 즉면에서도 어려움이 있을 수 있고, 액티비티 특성상 LifeCycle에 따른 영향도 있을 것이며 데이터도 안전하게 다루지 못하기 때문이다. 따라서 LifeCycle의 영향, 코드의 복잡, 비대에 대한 영향, 앱 사용 환경 등 다양한 이유와 문제점을 바탕으로 좀 더 안전하고 깔끔한 개발을 위해 아키텍처 패턴이 생겨났다. MVC(Model View Controller) MVC 패턴에서 사용자 입력은 컨트롤러(Activity)를 통해 들어오며 컨트롤러는 모델과 상호작용을 통해 View(xml)을 업데이트한다. 이 때..
빡수수
'mvvm' 태그의 글 목록