티스토리 뷰

반응형

 

Dart에는 팩토리 생성자 가 있습니다. 

facory 키워드를 사용해서 생성자를 구현하면 해당클래스의 인스턴스를 항상 새로 만들지 않게 된다고 합니다. 

 

 

예를 들어 볼게요-!

AuthManager를 이렇게 factory생성자로 만들어서 싱글톤으로 쓸 수 있습니다. 

class AuthManager {

  static final AuthManager _manager = new AuthManager._internal();

  factory AuthManager() {
    return _manager;
  }

  AuthManager._internal() {
    //  초기화 코드
  }
}

 

 

factory생성자를 안쓴 다른 클래스(LoginViewModel)과 비교해본 코드입니다..! 

  var manager1 = AuthManager();
  var manager2 = AuthManager();

  print(manager1 == manager2); // true




  var viewModel1 = LoginViewModel();
  var viewModel2 = LoginViewModel();
  
  print(viewModel1 == viewModel2); // false

 

 

 

 

 

Reference

 

https://blog.hansoolabs.com/697

 

[Dart] 싱글턴 패턴 클래스 (Singleton pattern for dart)

다트 언어로 싱글턴 패턴 작성시 팩토리 생성자를 이용하면 편리하다. class MyClass { // 인스턴스 하나 static final MyClass _singleton = new MyClass._internal(); // 팩토리 생성자에서 이미 존재하는 것을..

blog.hansoolabs.com

 

반응형
댓글