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

网站建设属什么费用零基础网站建设

网站建设属什么费用,零基础网站建设,游戏开发用什么编程语言,企业网站查询系统官网文章目录 前言一、介绍二、详细分析1.核心组成2.实现步骤3.代码示例4.优缺点优点缺点 5.使用场景 总结 前言 本文主要学习抽象工厂模式,抽象工厂模式创建的是对象家族,比如:苹果是一个产品,但是他不单单只生产手机,还…

文章目录

  • 前言
  • 一、介绍
  • 二、详细分析
    • 1.核心组成
    • 2.实现步骤
    • 3.代码示例
    • 4.优缺点
      • 优点
      • 缺点
    • 5.使用场景
  • 总结


前言

本文主要学习抽象工厂模式,抽象工厂模式创建的是对象家族,比如:苹果是一个产品,但是他不单单只生产手机,还有电脑,耳机。。。等等,所以抽象工厂模式相较于工厂方法模式是更高维度的一个抽象,不限于单单一个产品了。


一、介绍

抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类;具体的工厂负责实现具体的产品实例。抽象工厂模式创建的是对象家族,也就是很多对象而不是一个对象,并且这些对象是相关的,也就是说必须一起创建出来。解决工厂方法模式每个工厂只能创建一个产品的问题。

二、详细分析

1.核心组成

  • 抽象产品族(AbstractProduct):描述抽象产品的公共接口;
  • 抽象工厂(Creator):描述具体工厂的公共接口;
  • 抽象产品(Product):描述具体产品的公共接口;
  • 具体工厂(Concrete Creator):描述具体工厂;实现FactoryMethod工厂方法创建产品的实例;
  • 具体产品(Concrete Product):描述生产的具体产品。
    在这里插入图片描述

2.实现步骤

  • 创建抽象产品工厂,定义具体的工厂公共接口;
  • 创建抽象产品组,定义抽象产品组的公共接口;
  • 创建具体产品(实现抽象产品),定义具体生产的产品;
  • 创建产品组工厂(实现抽象产品组),定义具体的产品实例方法;

3.代码示例

抽象产品工厂类:

/*** 抽象电脑工厂*/
public interface ComputerFactory {/*** 生产电脑*/void productionComputer();
}
/*** 抽象产品工厂*/
public interface MobilePhoneFactory {/*** 生产手机*/void productionMobilePhone();
}

抽象产品组:

/*** 抽象产品组工厂*/
public interface ProductFactory {/*** 创建电脑工厂* @return*/ComputerFactory createComputerFactory();/*** 创建手机工厂* @return*/MobilePhoneFactory createMobilePhoneFactory();}

具体产品类:

/*** 具体产品*/
public class AppleMobilePhone implements MobilePhoneFactory{@Overridepublic void productionMobilePhone() {System.out.println("生产苹果手机");}
}
/*** 具体产品*/
public class HUAWEIMobilePhone implements MobilePhoneFactory{@Overridepublic void productionMobilePhone() {System.out.println("生产华为手机");}
}
/*** 具体产品*/
public class AppleComputer implements ComputerFactory{@Overridepublic void productionComputer() {System.out.println("生产苹果电脑");}
}
/*** 具体产品*/
public class HUAWEIComputer implements ComputerFactory{@Overridepublic void productionComputer() {System.out.println("生产华为电脑");}
}

产品组工厂:

/*** 产品组工厂*/
public class AppleFactory implements ProductFactory{@Overridepublic ComputerFactory createComputerFactory() {return new AppleComputer();}@Overridepublic MobilePhoneFactory createMobilePhoneFactory() {return new AppleMobilePhone();}
}
/*** 产品组工厂*/
public class HUAWEIFactory implements ProductFactory{@Overridepublic ComputerFactory createComputerFactory() {return new HUAWEIComputer();}@Overridepublic MobilePhoneFactory createMobilePhoneFactory() {return new HUAWEIMobilePhone();}
}

测试类:

    public static void main(String[] args) {AppleFactory appleFactory = new AppleFactory();appleFactory.createComputerFactory().productionComputer();appleFactory.createMobilePhoneFactory().productionMobilePhone();}

结果:
在这里插入图片描述

4.优缺点

优点

  • 降低耦合:抽象工厂模式将具体产品的创建延迟到具体工厂的子类中,这样将对象的创建封装起来,可以减少客户端与具体产品类之间的依赖,从而使系统耦合度低,这样更有利于后期的维护和扩展;
  • 当一个产品族中的多个对象被设计成一起工作时,它能保证使用方始终只使用同一个产品族中的对象。

缺点

  • 产品族扩展困难,要增加一个系列列的某一产品,既要在抽象的工厂和抽象产品里修改代码,不是很符合开闭原则。

5.使用场景

  • 一个系统不要求依赖产品类实例如何被创建、组合和表达的表达,这点也是所有工厂模式应用的前提。
  • 系统要求提供一个产品类的库,所有产品以同样的接口出现,客户端不需要依赖具体实现。

总结

以上就是今天要讲的内容,本文介绍了抽象工厂模式的分析和使用。

http://www.yayakq.cn/news/550151/

相关文章:

  • 做网站的调查问卷网站建设算什么费用
  • 肥城市建设局网站广州网站开发小程序
  • 凡科建站可以做几个网站wordpress仿站教程网
  • 青岛网站建设技术外包做app推广去哪找商家
  • 网站建设课程设计心得wordpress 手机号登录
  • 好看的网站都找谁做的公司概况
  • 修改网站模板详解韩国的小游戏网站
  • 策划书网站wordpress固定主题
  • asp.net做网站兰州网站seo哪家公司好
  • 杭州品牌网站ckeditor for wordpress 设置
  • 天津大学新校区建设网站深圳网站建设定制开发 超凡科技
  • 网站访问量统计怎么做如何开公司注册需要多少钱
  • 个人网站备案做商城陕西省建设厅注册中心网站
  • 贵阳网站方舟网络最好sem是什么公司
  • 网站项目建设策划书流程营销型网站免费模板下载
  • 云南省新农村建设网站做的好的网站营销微信公众号
  • spring mvc 网站开发wordpress如何加视频
  • 网站建设项目教程广州花都网站开发
  • 做网站上传的图片大小wordpress自定义评论样式
  • 网站运营阶段头像设计
  • 沈阳城市建设学院官方网站网站做跳转微信打开
  • 上海专业的网站公阅读分享网站模板
  • 五大搜索引擎 三大门户网站营销型网站的目标是
  • 戴尔网站建设目标中山移动网站建设公司
  • 银川做网站最好的公司有哪些西安游玩攻略
  • 某品牌休闲零食网站建设规划书网站开发目标开题报告
  • wordpress多站点命名网站开发与维护项目招标
  • 怎么做网站推广怎么样网站推广seo设置
  • 淄博乐达网站建设内部优惠券网站怎么做
  • 友汇网站建设管理后台东莞网站开发前三强