Develop/❤️ Design pattern

디자인 패턴: Factory-method

인피니 2022. 3. 14. 16:29

팩토리 패턴을 적용하지 x 때 

-> Component 타입으로 선언된 객체 comp1~3이 존재한다. 

-> comp1~3은 각각 Button, Switch, Dropdown 중 하나를 선택해 값을 넣어준다. (withoutFactory)

 

팩토리 패턴을 적용한다면?

-> 다른클래스 즉 Factory안에서 주어진 조건 (Usage usage)에 따라 적절한 것을 생성해 반환 값으로 나오는 객체를 값으로 넣어줌 

 

🤔 팩토리 패턴을 적용하면 무슨 장점이 있을까?

if) Button을 생성하는 생성자가 변경되고, Button객체를 생성하는 부분의 코드가 여러 곳에 분포되어 있다면 해당 코드를 하나씩 찾아서 새 생성자 형식에 맞게 코드들을 변경해줘야 함 

 

즉 , 객체의 생성을 하는 코드들이 많으면 많을 수록 객체의 생성자를 변경하거나 사용되는 객체 자체를 변경하는데 부담이 존재 

이것을 팩토리 클래스가 대신하도록 하면 팩토리 클래스의 메소드 내부만 변경하면 됨 

 

📖 reference 

https://www.youtube.com/watch?v=q3_WXP9pPUQ ( 팩토리 메서드 부분만 정리)