您的位置:首页 > 其它

2.抽象工厂模式

2015-08-19 01:18 239 查看
一、基本模式

1. 抽象工厂,具体工厂,抽象产品,具体产品作为其要素;

2. 具体工厂生产出具有【抽象产品】协议方法的产品

3. 生产出的具体产品细节对使用者透明,使用者只需知道抽象产品的协议即可。

4. 使用时: AbstractProduct aProduct = concreteFactory.createProduct; aProduct.doSth();

二、模式演化

1. 抽象xx不一定要用抽象类,用接口或Protocol也可

2. 产品创建方法可有多个, 如 createEatableProduct + createPlayabelProduct + createSoulmateProduct 对应不同的抽象产品

3. 有则复用, 无则生产, 与享元模式形成组合模式

三、 模式退化

抽象产品的多态性作为必要的适用条件,当只有一类具体产品时,失去多态在存在意义
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: