데이터의factory와 부식?

9633 단어 Dartfactorytech
팩토리 수식자가 달린 구조기인 것 같은데...
이른바 팩토리🤔
공장
프리즈의 팩토리가 있었던 것 같은 결말?
https://pub.dev/packages/freezed
"아이고"이거, 손이 참 빠르네.😅
도대체 무슨 목적으로 사용한 걸까요?
나는 Fluter대학의 샤오쿤이 단식이라는 전문 용어를 사용하는 것이 생각났다.단식 모드에서 이factory를 사용하는 것 같습니다.
단식 도안의 견본
main.dart
class Singleton{
  // (1) staticとしてインスタンスを事前に作成
  static final Singleton _instance = Singleton._internal();
  int _counter = 0;
  // (2) Factoryコンストラクタ
  factory Singleton(){
    return _instance;
  }
  // (3) 内部で利用する別名コンストラクタ
  Singleton._internal();

  int increment(){
    return ++_counter;
  }
}
void main(){
  // (4) 利用するコード
  var inst1 = Singleton();
  var inst2 = Singleton();

  print(inst1.increment());  // 1となる
  print(inst2.increment());  // 2となる
}
실행 결과
1
2
Exited
동일한 인스턴스만 수행합니다.
자기도 코드를 썼는데 단식을 배워보고 발견했어요!
class Singleton을 정의하면 static final Singleton,factory Singleton (), 같은 종류의 이름을 사용하지 않으면 사용할 수 없습니다!
사이트 축소판 그림
https://flutter.keicode.com/basics/data-store-singleton.php
main.dart
class WhiteList {
  // (1) staticとしてインスタンスを事前に作成
  static final WhiteList _cache = WhiteList._();
  // 空っぽの配列を用意
  final List _whiteList = <String>[];
  // (2) Factoryコンストラクタ
  factory WhiteList() {
    return _cache;
  }
  // 配列に値を入れて、戻り値として返す。
  List show() {
    return ["A社", "B社", "C社", "D社"];
  }
  // (3) 内部で利用する別名コンストラクタ
  WhiteList._();
}

void main() {
  var ins1 = WhiteList();
  var ins2 = WhiteList();
  print("ホワイト企業はどこか?");
  print(ins1.show());
  print(ins2.show());
}

실행 결과
ホワイト企業はどこか?
[A社, B社, C社, D社]
[A社, B社, C社, D社]
인스턴스가 하나만 생성되고 List의 String 데이터가 표시됩니다.
나는 이것이 규정된 문법인 줄 알았지만, 아닌 것 같다.
static final Singleton _instance = Singleton._internal();
  • _instance인스타그램도 움직인다.스스로 이름을 정할 수 있다.instance는'예'라는 뜻이다.
  • _internal();、이것은();그런데 괜찮아요.인터넷 ()이라는 이름은 관례이기 때문에 반드시 이 이름이 필요한 것은 아니다.인터넷은'내부'라는 뜻이다.
    단, 명명 규칙이 있기 때문에 주의해야 한다😅
    나는 마침내 팩토리라는 단어를 이해했다고 생각한다.일종의 구조기입니까😅
  • 코치님은 종류가 많은 것 같아요.너무 많아서 기억하기 힘들어요.😵‍💫
    https://dart.dev/guides/language/language-tour#constructors

    좋은 웹페이지 즐겨찾기