inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

fromJson 생성자 만들어보기

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

해결된 질문

389

mkp0131

작성한 질문수 91

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 없이 선언해도 작동하는 것 같아, 어떤 것이 더 좋은 방향인지 궁금 합니다.

Flutter 하이브리드 앱

답변 1

1

코드팩토리

안녕하세요.

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

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

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

자동 패키지 임포트 관련 질문 드립니다.

0

646

1

초급 중급 마무리한 학생입니다.. 파베관련 질문 하나만 받아주실 수 있을까요

0

432

1

Pagination 질문드립니다

0

462

1

레이아웃에 대해서 궁금한 질문!

0

485

1

강의에 적용된 디자인 패턴이 뭔가요??

1

668

1

네스팅 방식으로 goRouter Go를 사용할때, 앱바타이틀이 정상적으로 표시되지 않는 문제

0

550

2

GoRouter return이 안됩니다.

0

592

1

UserModel 에서는 IModelWithId를 implements하지 않는 이유가 있나요?

-1

533

1

서버쪽 /user/me api에서 에러가 나서 확인해보니..

0

403

1

[에러] GoRouter 적용, 401 에러가 뜹니다

0

359

1

ref.read.update // state + 1

0

446

1

typedef itemBuilder 제네릭 관련 질문이 있습니다.

0

449

1

[상태관리] Riverpod을 쓰신 이유가 있으신가요?

0

666

1

Dio 질문드립니다.!

0

768

2

CursorPagination 캐스팅 관련 문의

0

406

1

CursorPagination 캐시팅 관련 문의

0

390

2

AuthRepository 클래스 token() 함수는 Dead Code 아닌가요?

0

358

1

Rating을 GET 요청할때 DioError가 발생합니다.

-1

603

1

Token 관련 질문 드립니다.

0

445

2

수업의 내용은 아니지만 궁금해서 여쭤봅니다.

0

571

1

refresh 토큰 재발급 요청에 대해서

0

1683

1

_App 클래스가 ConsumerWidget을 상속 받으면 에러가 생깁니다

0

2537

4

이번 플러터와 다트 업데이트에서

1

264

1

Dio로 api 요청 듣고 있는데 에러가 발생합니다 ㅜㅜ

0

1168

1