inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Các mẫu thiết kế Java

Ứng dụng mẫu Phương thức nhà máy

Factory Pattern 질문입니다.

434

ows30901330

3 câu hỏi đã được viết

0

Factory Pattern에서 각 객체들의 인터페이스들을 만들기 어렵기 때문에 내부에 Factory 클래스를 생성한다고 하셨습니다. 그렇게 되면 결합도는 높아진다고 하셨는데 그러면 안드로이드에서 팩토리 패턴을 사용하는 정확한 이유가 뭔가요? 결합도를 낮추는 것도 아닌데 사용하는 궁극적인 목표가 궁금합니다

java 디자인-패턴

Câu trả lời 3

3

survivalcoding

아. 죄송합니다. 위에 제가 빌더 패턴 얘기를 하고 있었네요.

영상 다시 보고 답변 다시 답니다.

원래 Factory 패턴은 인터페이스나 추상 클래스로 선언하고 내부에서는 뭐가 생성될지 모르게 하는게 정석이라고 생각합니다.

Android 에서는 Fragment 생성할 때 이렇게 합니다.

이렇게 하면 실제 생성되는 XXXFragment는 import 하지 않아도 되니까 결합도가 낮아지지요.

그런데 안드로이드 프레임워크에서는 이 영상의 IDCard 와 같은 형태의 팩토리들을 제공하는 클래스가 많이 있습니다.

해당 클래스 자체를 생성만 하는 거지요.

그래서 여러 타입을 생성할 수 있을 경우는 인터페이스나 추상 클래스로 선언해서 받으면 되고,

객체 하나만 만들 때는 굳이 인터페이스나 추상 클래스를 만들지 말고 그냥 해당 클래스로 바로 생성할 수 있으니

두 경우를 소개한 것이고요.

Factory건 Builder건 궁극적인 목표는 객체 생성입니다.

제 생각은 역시 패턴에 정답은 없다. 상황에 따라 응용 하면 된다가 결론입니다.

1

survivalcoding

Factory는 객체 생성을 위한 공장입니다.

Android 에서 Factory 패턴이 많이 쓰이는 이유는 몇 가지 옵션으로 조립하여 객체를 생성할 일이 많기 때문입니다.

특히 다이얼로그 같은 경우 몇 가지 옵션을 준비해서 조합해서 객체를 만들 일이 많은데 생성자만으로는 한계가 있지요.

결합도나 그런 이유 때문은 아니고요. 패턴도 여러가지 변형이 있고 이거다 하는 정답은 없습니다. 상황에 맞게 응용할 뿐이지요.

0

ows30901330

안녕하세요 말씀하신내용은 builder 패턴 아닌가요? 다이얼로그에 builder패턴을 사용하는것으로 알고 있어서요 

낙관적락 질문있습니다.

0

15

1

push pop 설명 되어있는 강의가 몇강인가요?

0

23

1

댓글순서부여방식

0

19

1

movablePageCount와 pageSize 상수

0

23

1

JPA와 네이티브 쿼리

0

31

1

조회 메서드 네이밍 질문

0

44

1

소스파일

0

40

1

강의 판서 자료

0

47

2

모의고사 파일오류

0

67

3

Properties 설정이 추가되었는데

0

32

1

모의고사 다운

0

46

1

업캐스팅 원칙

0

63

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

76

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

56

2

6분46초

0

54

2

공략법

0

61

1

isInterrupted 질문 있다.

0

32

1

선생님 샤딩에 대한 강의도 좀 해주세요

0

46

1

몽고DB CAP 이론 관련

0

54

2

모의고사 파일과 이론파일 업데이트

1

70

3

이론 pdf 다운은 어디서 하나요?

0

64

2

RunIdIncrementer batch 5랑 6랑

1

58

2

Singleton util vs Static util

0

991

2

Notion 엑세스 질문

0

299

1