【设计模式】【创建型】抽象工厂模式
【摘要】 一、抽象工厂模式抽象工厂模式对工厂方法进一步抽象;原来的工厂方法模式中一个工厂类负责创建一个产品实例,存在很多产品的时候需要创建很多工厂类,增加类复杂度,不方便维护;抽象工厂方法对产品进行抽象:同一类的产品由一个工厂负责创建产品实例,组成一个产品族;产品也分不同的等级结构,产品族可以通过组合的方式创建不同等级的产品实例。特点:1.客户端client只需要了解抽象工厂AbstractFacto...
一、抽象工厂模式
抽象工厂模式对工厂方法进一步抽象;原来的工厂方法模式中一个工厂类负责创建一个产品实例,存在很多产品的时候需要创建很多工厂类,增加类复杂度,不方便维护;抽象工厂方法对产品进行抽象:同一类的产品由一个工厂负责创建产品实例,组成一个产品族;产品也分不同的等级结构,产品族可以通过组合的方式创建不同等级的产品实例。
特点:
1.客户端client只需要了解抽象工厂AbstractFactory包含有哪些产品等级以及具有哪些产品族可直接使用。无需知道复杂的创建过程,达到了创建与实现的解耦。
2.新增产品族很方便,无需修改原来的代码,符合开闭原则
3.一个产品族可以创建不同的产品等级实例,达到了组合复用原则
缺点:
1.拓展产品等级比较麻烦,需要修改产品族代码,并且层次结构比较复杂
使用场景:
1.需要使用接口创建对象,但是又不确定具体实现。
2.产品等级结构数目稳定
3.生产关系复杂紧密
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)