类图
说明
- 任何一行有new 关键字的代码都违反了依据依赖倒置DIP原则;如果某个类是稳定的,违反也不会出现麻烦,比如new String
- 工厂模式遵循了DIP原则,可解除依赖关系环
- 严格遵守DIP原则,使用工厂模式过于极端,会带来复杂性,必要时使用为好(讲求平衡)
- Facory相关实现类,需要根据入参写if else来造具体的产品,违背了开闭OCP原则,可控可接受
应用场景举例
- SpringContext可以理解为一个巨大的工厂
- 有必要使用代理模式的场景,很可能也需要使用工厂模式
閱讀更多 IT學習分享 的文章