不仅对产品进行抽象,也对工厂进行抽象,这样想新增一个产品的话,不需要对现有代码进行修改,遵循了开闭原则,即对扩展开放,对修改封闭。
同样以手机为例:
简单工厂只能针对单一的产品类型,如果场景变成了产品族,即苹果旗下不仅有手机,也有手环,小米旗下有手机,也有手环,如果客户想要一次性生产小米手机、小米手环,并一次性生产苹果手机、苹果手环,那么就需要自己再进行复杂的处理。
以手机、手环为例子的具体UML图:
京公网安备 11010502049817号