작성
·
299
답변 3
3
아. 죄송합니다. 위에 제가 빌더 패턴 얘기를 하고 있었네요.
영상 다시 보고 답변 다시 답니다.
원래 Factory 패턴은 인터페이스나 추상 클래스로 선언하고 내부에서는 뭐가 생성될지 모르게 하는게 정석이라고 생각합니다.
Android 에서는 Fragment 생성할 때 이렇게 합니다.
이렇게 하면 실제 생성되는 XXXFragment는 import 하지 않아도 되니까 결합도가 낮아지지요.
그런데 안드로이드 프레임워크에서는 이 영상의 IDCard 와 같은 형태의 팩토리들을 제공하는 클래스가 많이 있습니다.
해당 클래스 자체를 생성만 하는 거지요.
그래서 여러 타입을 생성할 수 있을 경우는 인터페이스나 추상 클래스로 선언해서 받으면 되고,
객체 하나만 만들 때는 굳이 인터페이스나 추상 클래스를 만들지 말고 그냥 해당 클래스로 바로 생성할 수 있으니
두 경우를 소개한 것이고요.
Factory건 Builder건 궁극적인 목표는 객체 생성입니다.
제 생각은 역시 패턴에 정답은 없다. 상황에 따라 응용 하면 된다가 결론입니다.
1
Factory는 객체 생성을 위한 공장입니다.
Android 에서 Factory 패턴이 많이 쓰이는 이유는 몇 가지 옵션으로 조립하여 객체를 생성할 일이 많기 때문입니다.
특히 다이얼로그 같은 경우 몇 가지 옵션을 준비해서 조합해서 객체를 만들 일이 많은데 생성자만으로는 한계가 있지요.
결합도나 그런 이유 때문은 아니고요. 패턴도 여러가지 변형이 있고 이거다 하는 정답은 없습니다. 상황에 맞게 응용할 뿐이지요.
0