framework를 만들어서 두개를 엮음클라이언트는 하위클래스를 만들어서 createPizza 오버라이드함
instantiation을 하위클래스로 짬때림구린 예DIP = concreate한 것에 대해 dependency가지지 마라. (abstraction에 dependency를 가져야 함)자주 변할 수 있는 클래스에 직접적으로 연관되어 있음 / PizzaStore는 특정한 피자는 모름 각 피자들이 변경되어도 상위의 클래스들에 영향을 안준다.
createion을 하위클래스가 아니라 다른 객체에 delegate함
concrate클래스가 직접 드러나지 않는다!
제3의 Factory에게 Delegation해서 생성함.
여기 예제에서는 이전거는 놔두고 새로운부분(재료)만 abstract Factory로 구현
단점 : 새로운 것들이 나오면 ㅈ됨
라디오버튼타입이 새로 생기면 전부 싹다 추가해줘야함concrete한 factory추가하는건 아주 쉬움