当前位置: 首页 > news >正文

闵行区建设和交通委员会网站互联网推广招聘

闵行区建设和交通委员会网站,互联网推广招聘,字体转换器在线生成器,个人经营网站 办理目录 了解抽象工厂模式前的前置知识 什么是抽象工厂模式? 为什么要提出抽象工厂模式? 抽象工厂模式中的四大角色? 抽象工厂模式的优缺点? 抽象工厂模式的适用场景? 了解抽象工厂模式前的前置知识 在讲抽象工厂模式…

目录

了解抽象工厂模式前的前置知识

什么是抽象工厂模式?

为什么要提出抽象工厂模式?

抽象工厂模式中的四大角色?

抽象工厂模式的优缺点?

抽象工厂模式的适用场景?


了解抽象工厂模式前的前置知识

       在讲抽象工厂模式之前,想要明确两个概念。

        一个概念是产品族,还有一个概念是产品等级结构。

        1)产品族:产品族是指同一个工厂产生的,位于不同产品等级结构中的一组产品。比如小米工厂生产的小米手机、小米电脑、小米音响构成一个产品族。这三种产品属于不同的产品等级结构,但是由同一个工厂创建。

        2)产品等级结构:产品等级结构即产品的继承结构,如一个手机父类,其子类有小米手机、华为手机、苹果手机等。手机类是父类,小米手机类、华为手机类、苹果手机类是子类。

什么是抽象工厂模式?

        抽象工厂模式是创建型模式,提供了创建一系列相关的或者相互依赖的对象接口,而无须指明具体类。

为什么要提出抽象工厂模式?

       1)由于工厂方法模式的缺点:因为简单工厂模式的工厂职责过重,而且不满足开闭原则,所以有了工厂方法模式。而工厂方法模式又由于每个工厂只生产一类产品,可能导致系统中有大量的工厂类,增加系统开销,此时我们考虑可以将相关的产品构成一个产品族放在同一个工厂生产,进而引入了抽象工厂模式。

        2)由于实际需要。有时候我们需要让一个工厂可以提供多个产品对象,而不是一个工厂对应单一的产品对象。

        

抽象工厂模式中的四大角色?

        1)抽象工厂:定义了一个接口或者是抽象类,声明了一组用于创建相关产品对象的方法,这些方法的返回值通常是抽象产品。

        2)具体工厂:它实现了抽象工厂中创建对象的方法,根据不同参数,创建具体产品对象。

        3)抽象产品类:定义了一个接口或者是抽象类,表示同类产品,在抽象产品类中声明该产品具有的方法。

        4)具体产品类:它定义了抽象产品下的具体产品,实现了抽象产品类中的声明的方法。

        还有一个可选的隐藏角色是工厂创造器:根据传入不同的工厂类型,创造一个具体的工厂类,返回值用抽象工厂接受。

抽象工厂模式的优缺点?

        优点:

                1)将产品的创建和使用分离开来,用户并不需要知道创建过程的细节,这使得客户端代码变得整洁。

                2)容易替换产品系列。由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同产品配置。

                3)当一个族中的多个对象被设计到一起工作的时候,可以保证客户端使用的都是同一个产品族的对象。

        缺点:

                1)产品族扩展非常困难。在产品族需要增加新的产品等级的时候,需要修改抽象工厂的代码以及具体工厂的实现。严重违反了“开闭原则”。

                2)增加了代码的复杂性和抽象性,增加了代码理解难度。

        

抽象工厂模式的适用场景?

        1)需要创建对象和使用分离时,并不关心具体的创建过程。系统需要对一个产品族下的不同产品提供统一的访问接口,而不关心具体的实现过程。

        2)系统有多于一个的产品族,而在使用时需要动态选择产品族。

        3)产品等级结构稳定,设计完后不会在向系统中添加新的产品等级结构或者删除已有的产品等级结构。

        4)系统需要让一组产品被设计到一起使用,而不是单独设计。

http://www.hkea.cn/news/565370/

相关文章:

  • 在线服务器代理杭州seo网络公司
  • wordpress邮件订阅seo技术外包
  • 深圳营销网站建站公司搜索引擎关键词的工具
  • 做网站如何网站考虑优化游戏推广员是诈骗吗
  • 公众号做视频网站吗关键词排名怎么做上首页
  • 重庆做网站价格优化软件下载
  • 如何做网站镜像今日最火的新闻
  • 水果网站开发所需的成本市场营销实际案例
  • 无锡市新吴区住房和建设交通局网站西安百度关键词包年
  • 网站平台方案设计seo上首页
  • 郑州做网站的联系方式搜狗友链交换
  • 一般建设一个网站多少钱怎么接广告赚钱
  • 计算机专业网站开发方向销售推广方案
  • 上海网站建设公司排名西安百度公司
  • 中国网网址是多少网站推广优化教程
  • 关于加强机关网站建设运营培训
  • dw做的网站怎么让别人看到如何建立一个网站
  • 保险网站建设优缺点seo代码优化步骤
  • 如何快速建网站百度电脑版入口
  • 山东省建设工程信息网站最近最新的新闻
  • 免费网站建设方案锦绣大地seo官网
  • 电子商务的网站建设牛排seo系统
  • 资源收费网站怎么做网站快速优化排名官网
  • 招标网哪个网站信息可靠百度站长工具网站
  • 郑州七七网站建设互联网推广公司
  • 佛山做外贸网站代理商百度收录技术
  • 公司网站建设需要什么今日热搜第一名
  • 烟台建设企业网站网站快速收录入口
  • 怎么做繁体字网站网络营销公司注册找哪家
  • 做ppt介绍网站吗网站搜索引擎优化工具