본문 바로가기

Track of Edu

패.활.리. 3탄 생성

생성이 6장 챕터의 제목일 때에는 쉽게 이해가 가지 않았습니다.

제가 생각하던 리팩터링은, 줄이는 것이었거든요.

여기서 말하는 생성은, 리팩터링을 위해서 무얼 추가로 만든다라는 느낌이 아니라,

기존에도 생성하고 있는 여러 생성자 류?들을 만들 때 이렇게 만든다 라는 개념이라고 이해했습니다.

 

여기서 말하고 있는 생성은 세 종류로서

factory, builder, singleton의 개념입니다.

팩토리의 차이점이라면, 기존에는 매번 새로운 인스턴스를 생성하던 것에서,

이미 생성된 인스턴스가 있다면 기존 인스턴스를 리턴한다는 것.

빌더는, 같은 방식으로 호출되지만 다르게 결과값을 도출한다는 것.

 

저는 기존의 사용하던 코드에서 팩토리는 단지 디비 클래스를 만들 때,

freezed를 사용할 때에만 썼었는데요,

이것도 하나의 생성이라고도 볼 수 있겠죠.

이전에는 디비 클래스에 여러 기능들을 덕지덕지 붙였다면,

자동 생성되는 프리즈드에는 toJson, fromJson, ==, toString, copyWith 등이 생성됩니다.

일일이 모든 것들을 매칭해주지 않아도 g.dart의 파트로서 구현이 됩니다. 

그 때에도 팩토리라는 개념을 훑고만 넘어갔었는데,,,

생성하게 될 구상 혹은 구현 클래스를 서브 클래스에서 결정나도록 하는 것이라고 봤습니다.

 

'Track of Edu' 카테고리의 다른 글

패.활.리. 5탄  (1) 2022.01.20
패.활.리. 4탄  (0) 2022.01.05
패.활.리. 책리뷰 2부  (0) 2021.12.16
리드잇진 ReadIt Zine, #2  (0) 2021.12.15
제목 분석. 패턴이란? 리팩터링이란?  (0) 2021.11.29