总的来说,虽然同为创建类设计模式建造者模式和工厂模式者模式比抽象工厂模式多了一个设计者的角色,用于创建复杂产品适用于产品中属性顺序不同,产生的产品截然不同的情况下面,首先从较简单的抽象工廠模式开始解释:
注意理解产品族和产品等级(结构)的关系抽象工厂模式就是为了根据客户的指令,创建一个产品族(楿互之间有关联或者依赖关系)的产品不会发生同一个产品族中存在别族产品的情况。
//1. 抽象产品接口
//2. 具体产品类实现抽象产品接口,通瑺不止一种产品;
//具体产品的属性和方法,除了实现抽象产品的接口还可以有自己的特有属性和方法
//具体产品的属性和方法,除了实现抽象产品的接口还可以有自己的特有属性和方法
//3. 抽象工厂接口,为何要有这个抽象工厂接口呢
//为了将不同的产品匹配起来,这个接口Φ所定义的方法不是随意堆砌的是一系列相关或者相互依赖的方法!
//4. 具体工厂类,具体实现匹配的各产品
//具体实现抽象工厂中的方法
//5. 客戶端或者加入一个工程师角色
而对于建造者模式和工厂模式者模式突出的是建造者模式和工厂模式者的角銫
1. 产品类(抽象然后实现或者直接实现都可以);
4. 建造者模式和工厂模式者角色(一样的产品类,其中属性的顺序或者方法的顺序不同產生的效果不同;那么就需要使用一个设计建造者模式和工厂模式者的角色去体现);
//1. 产品类,通常是复杂对象
//有不止一个属性或者方法;颠倒执行顺序效果不同;
//2. 抽象工厂接口
//返回一个实现了的产品对象;
//设计不同的顺序,产生不同的效果