[3점] 프리우스와 아크아에서 배운 플utter 단식
개시하다
지금까지 단식을 사용해 본 적이 없기 때문에 자세히 요약하고 싶습니다.
단식의 사용법을 대충 이해하고자 하는 사람은 프리우스 및 AQUA 체감 단식 사용부터 읽는 것이 좋다.
싱글톤
이것만으로는 이해하기 어려우니 다음에 구체적으로 예를 들어 설명하겠습니다.
용례
クラス間で共通のメソッド、値にアクセスできる
의 성질을 예로 들어 설명한다.일반반
class MyClass{
//...中身
}
final instance1 = MyClass();
final instance2 = MyClass();
instance1
와 instance2
는 같은 종류MyClass
에서 생성된 것이다.여러 개의 실례가 있기 때문에 모양은 같지만 내부 상태(state)는 다른 대상으로 간주된다.
단식류
class Singleton{
//...中身
}
final instance1 = Singleton();
final instance2 = Singleton();
instance1
와 instance2
는 같은 종류Singleton
에서 같은 실례를 참조한다.같은 실례를 참조하기 때문에 내부 상태(state)는 공통
Singleton
대상이다.처음 프로그래밍을 시작하면...
"우리가 같은 반이라고 불렀기 때문에 내부의 state도 마찬가지입니다."
이런 생각도 있지만 보통은 다르다.
모든 실례는 하나의 상태를 가지고 있다.
단식으로 등급을 이룬다면 어디서나 호칭
Singleton()
이 같은 내부 상태(상태)다.단식의 제작 방법
다음은 플루터(Dart)에서 단타로 만드는 방법에 대해 설명한다.
Singleton._internal()
를 개인(밑줄 친 상태)으로 설정하여 외부 호출 방지Singleton._internal()
class Singleton{
static final Singleton _instance = Singleton._internal();
factory Singleton(){
return _instance;
}
Singleton._internal();
}
프리우스 및 AQUA 체감 단식 사용
구체적인 예로 프리우스군과 아쿠아군을 등장시키자.
일반 학급
Prius
과 단식류Aqua
에 각각 옵션을 설정합니다.일반학급Prius
다음은 퓨즈 군.
class Prius {
Prius();
List<String> options = [];
List<String> addOption(String option) {
return options..add(option);
}
}
이 퓨즈 군에게 옵션을 추가하세요.void main() {
final prius1 = Prius();
print(prius1.addOption('カーナビ')); //[カーナビ]
print(prius1.addOption('ドラレコ')); //[カーナビ, ドラレコ]
final prius2 = Prius();
print(prius2.addOption('ヒーター')); //[ヒーター]
}
이 예에서 마찬가지로 퓨즈prius1
와 prius2
는 다른 차다.カーナビ
와 ドラレコ
를 선택한 뒤 ヒーター
를 추가했지만 각각 다른 차에 설치됐다.여기서 단식으로 제작된 아크아군에게 옵션을 추가해 주세요.
싱글 아쿠아
다음은 아쿠아 군.
class Aqua {
static final Aqua _instance = Aqua._internal();
List<String> options = [];
factory Aqua() {
return _instance;
}
Aqua._internal();
List<String> addOption(String option) {
return options..add(option);
}
}
이 AQUA 군에게 옵션을 추가하세요.void main() {
final aqua1 = Aqua();
print(aqua1.addOption('カーナビ')); //[カーナビ]
print(aqua1.addOption('ドラレコ')); //[カーナビ, ドラレコ]
final aqua2 = Aqua();
print(aqua2.addOption('ヒーター')); //[カーナビ, ドラレコ, ヒーター]
}
Aqua
는 단식 레벨이고, aqua1
와aqua2
는 같은 차다.이에 따라 각각
aqua1
와 aqua2
에 설치된 옵션이 모두 반영됐다.최후
이번 보도를 통해 플루터 중단식 제작 방법과 사용법을 이해하셨나요?
단식을 사용하지 않은 사람들의 참고가 되었으면 좋겠습니다.
트위터에 Flutter의 기술 관련 정보가 전송되고 있습니다!
Reference
이 문제에 관하여([3점] 프리우스와 아크아에서 배운 플utter 단식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/makumaaku/articles/flutter-singleton텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)