[flutter] 플러터 get과 MVP 패턴

본 포스트에서는 Flutter 어플리케이션에서 Get 패키지를 이용하여 MVP (Model-View-Presenter) 패턴을 구현하는 방법에 대해 알아보겠습니다.

목차

  1. Get 패키지 소개
  2. MVP 패턴이란?
  3. 플러터 어플리케이션에서 Get 패키지를 이용하여 MVP 패턴 구현하기

Get 패키지 소개

Get 패키지상태 관리 및 라우팅을 위한 플러터 툴킷으로, 간편한 사용법과 뛰어난 성능으로 유명합니다. 이 패키지를 이용하면 간단한 코드로 플러터 앱의 상태 관리와 라우팅을 처리할 수 있습니다.

MVP 패턴이란?

MVP (Model-View-Presenter) 패턴은 소프트웨어 개발에서 주로 사용되는 디자인 패턴 중의 하나로, 사용자 인터페이스, 비즈니스 로직, 데이터를 분리하여 관리합니다. MVP 패턴을 사용하면 코드의 재사용성이 높아지고 유지보수가 쉬워집니다.

플러터 어플리케이션에서 Get 패키지를 이용하여 MVP 패턴 구현하기

아래 예제를 통해 Get 패키지를 사용하여 MVP 패턴을 구현하는 방법을 알아보겠습니다.

Model 클래스 작성하기

class User {
  final String name;
  final String email;

  User(this.name, this.email);
}

Presenter 클래스 작성하기

class UserPresenter {
  void saveUser(String name, String email) {
    User user = User(name, email);
    // Model에 저장하는 로직을 구현할 수 있음
  }
}

View (화면) 클래스 작성하기

class UserView extends StatelessWidget {
  final userPresenter = UserPresenter();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Save User'),
      ),
      body: Padding(
        padding: EdgeInsets.all(16.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: <Widget>[
            TextField(
              decoration: InputDecoration(labelText: 'Name'),
              onChanged: (value) {
                // 입력값을 Presenter로 전달
                userPresenter.saveUser(value, emailController.text);
              },
            ),
            TextField(
              decoration: InputDecoration(labelText: 'Email'),
              onChanged: (value) {
                // 입력값을 Presenter로 전달
                userPresenter.saveUser(nameController.text, value);
              },
            ),
          ],
        ),
      ),
    );
  }
}

본 포스트에서는 Get 패키지를 이용하여 MVP 패턴을 플러터 어플리케이션에 적용하는 방법에 대해 알아보았습니다. MVP 패턴을 사용하면 코드를 더욱 모듈화하고 유연하게 관리할 수 있습니다.

더 많은 자세한 내용은 Get 패키지 공식 홈페이지에서 확인할 수 있습니다.