面试中总是问到设计模式的问题
其中有一系列叫 简单工厂,工厂,和抽象工厂模式。
我一直不太理解区别,今天算是明白一些。
最主要的是简单工厂和其他两个的区别是,简单工厂没有体现开闭原则,如果要增加需求还是要修改代码的。
工厂和抽象工厂,在工厂中已经可以很好的体现开闭原则了,如果想要增加需求,那么就可以写一个类去实现接口就可以了。但是如果想要增加很多功能的话就要添加很多类,这时候抽象工厂就出面解决问题了。在抽象工厂中,可以定义实现不止一个接口,但是在工厂模式中你只可以实现一个接口就是主要区别,工厂对应的是产品线,抽象工厂对应的是产品族。
网友评论