인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

mkp0131님의 프로필 이미지
mkp0131

작성한 질문수

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

fromJson 생성자 만들어보기

factory 를 사용하는 이유는 인스턴스를 하나만 생성하기 위함인가요?

해결된 질문

작성

·

319

1

factory 를 사용하는 이유는 인스턴스를 하나만 생성하기 위함인가요?

RestaurantModel.fromJson({required Map<String, dynamic> json})
    : id = json['id'],
      name = json['name'],
      thumbUrl = 'http://${ip}:3000${json['thumbUrl']}',
      tags = List<String>.from(json['tags']),
      priceRange = RestaurantPriceRange.values
          .firstWhere((price) => price.name == json['priceRange']),
      ratings = json['ratings'],
      ratingsCount = json['ratingsCount'],
      deliveryTime = json['deliveryTime'],
      deliveryFee = json['deliveryFee'];

이렇게 factory 없이 선언해도 작동하는 것 같아, 어떤 것이 더 좋은 방향인지 궁금 합니다.

답변 1

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요.

말씀하신대로 선언해도 상관 없습니다.

다만 Factory를 사용하게되면 상속상 같은 객체를 반환할수도 있다는 장점이 있습니다.

사용하신 방법은 꼭 정확히 같은 타입만 반환해야합니다.

mkp0131님의 프로필 이미지
mkp0131

작성한 질문수

질문하기