采用Abstract Factory、Builder和Factory模式可以分离接口和具体实现,本文通过类比讨论三者间的差异。
下面举例说明三者间的差异,其中客户相当于模式使用者,商家相当于模式本身:
1. Factory类似购买品牌机,客户可以选择联想或DELL,商家的模式是提供各类品牌整机;
2. Builder类似购买组装机,商家的模式是客户提要求,商家组装后提供整机;
3. Abstract Factory类似DIY,商家的模式是商家提供零部件,客户自行组装。
具体项目中小鸡射手只用过Factory模式。由于是自己提供自己用,所以还是自给自足的小农经济,甚至还称不上"工厂",嘻嘻...