其实这两个模式的实现是有相似处的,所以让人觉得困惑,想知道到底有什么区别.其实你可以先不看代码,先想想到底这两个模式的目的是什么.
比如builder,是一个搭积木的过程,是为了封装复杂的生产过程.
而factory呢?产品通常并不复杂,但是会比较多而繁杂,所以需要一个模式来简化和管理.
当然如果产品种类复杂,同时每个产品又有复杂的制造产生过程,当然你可以把上面两个模式结合起来使用.光看这两个简单模式的实现代码我觉得很容易困惑的.
实际上23个模式中很多模式的实现都很相似,有的时候仅仅是几行代码不同而已,但是正式这些不同反应了关注的重点.而你需要注意的是这些重点,而不是本身的模式实现.你自己完全可以另一套实现的,只要达到目的就可以.