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 ( 팩토리 메서드 부분만 정리)