Flutter MVVM

    안드로이드, iOS 에서 넘어오신 분들은 Flutter는 어떤 디자인 패턴을 사용하는지 찾아보는 것이 전혀 이상하지 않습니다.

    기본적으로 Flutter는 특정 디자인 패턴을 사용하지 않습니다. 

    필요에 맞게 패턴을 선택하고 구현한 것이지, 뭐가 좋다 뭐가 낫다라는 것이 없습니다. 

     

    MVVM은 Model-View-ViewModel의 약자입니다. 기본 아이디어는 뷰에 데이터를 제공하는 뷰 모델을 만드는 것입니다.

    뷰는 뷰 모델에서 제공한 데이터를 사용하여 자체를 채울 수 있습니다. 뷰 모델을 잘 모듈화하면 여러 뷰에서 사용할 수 있는 모듈형 코드를 작성할 수 있습니다.

     

    Flutter에서 MVVM을 사용하고 싶다면? Provider를 사용하세요!

    상태 관리 방법으로 Provider(ChangeNotifier) 사용하고 계신다면 사실 MVVM을 사용하신다고 생각하셔도 무방합니다.

    class MovieListViewModel extends ChangeNotifier {
    
      List<MovieViewModel> movies = List<MovieViewModel>(); 
    
      Future<void> getMovieList(String keyword) async {
      ....
          notifyListeners(); 
    
      }
    
    }
    
    class MovieViewModel {
    
      final Movie movie; 
    
      MovieViewModel({this.movie});
    
      String get title {
        return this.movie.title; 
      }
    
      String get poster {
        return this.movie.poster; 
      }
    
    }

     

    상태 관리 관련하여서는 따로 포스팅하겠습니다. 

     

    'Flutter(플러터) > Tip' 카테고리의 다른 글

    Flutter 상태 관리 ( State Management )  (0) 2022.02.23
    Native? Reactive? Cross? Flutter?  (0) 2022.02.22
    Flutter Architecture (아키텍처)  (0) 2022.02.22
    Flutter Log  (0) 2022.01.14
    Flutter 자동 정렬 ( Auto-Indent Lines )  (0) 2022.01.11

    댓글