工厂模式和建造者模式刚模式入门的会产生疑惑,他们的区别在哪儿?
工厂模式定意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。
目的:解决接口选择的问题
建造者模式意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
目的:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。
初学者的疑惑的产生是因为他们平时写工厂都是把两者合起来了,所以造成模糊的。工厂模式主要在“选择实现类",建造者模式主要在”复杂创建过程的封装“。这两个模式可以共存的。