保定网站建设电商型网站设计企业

news/2025/9/24 5:07:34/文章来源:
保定网站建设,电商型网站设计企业,中国摄影官方网站,无需下载直接观看的正能量文章目录 前言一、简单工厂模式定义二、举个例子三、简单工厂模式的缺点总结 前言 本篇我们了解一下简单工厂模式#xff0c;它是设计模式的雏形#xff0c;是学习设计模式的开端#xff0c;我会结合案例说明它的设计思路。 一、简单工厂模式定义 简单工厂模式并不是GoF23… 文章目录 前言一、简单工厂模式定义二、举个例子三、简单工厂模式的缺点总结 前言 本篇我们了解一下简单工厂模式它是设计模式的雏形是学习设计模式的开端我会结合案例说明它的设计思路。 一、简单工厂模式定义 简单工厂模式并不是GoF23个设计模式中的一员但是一般将它作为学习设计模式的起点。简单工厂模式又称为静态方法模式Static Factory Method Pattern)属于类创建型模式。在简单工厂模式中可以根据参数的不同返回不同的类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例这个类称为工厂类被创建的实例通常都具有共同的父类。简单工厂模式的结构如下图 在模式结构图中Factory表示工厂类它是整个模式的核心负责实现创建所有实例的内部逻辑。工厂类可以被外部直接调用创建所需的产品对象。工厂类中有一个负责生产对象的静态工厂方法系统可以根据工厂方法所传入的参数动态决定应该创建出哪一个产品类的实例。工厂方法是静态的而且必须有返回类型其返回类型为抽象产品类型即Product类型Product表示抽象产品角色它是简单工厂模式所创建的所有对象的父类负责定义所有实例所共有的公共接口ConcreteProduct表示具体产品角色它是简单工厂模式的创建目标所有创建的对象都是充当这个角色的某个具体类的实例。一个系统中一般存在多个ConcreteProduct类每种具体产品对应一个Concrete类。 二、举个例子 我们设计一个Coffee(咖啡类)它是一个抽象类比如现在有两种具体咖啡分别是AmericanCoffee(美式咖啡)和LatteeCoffee(拿铁咖啡)因此我们需要一个具体工厂去创建具体咖啡产品我们再定义一个生产咖啡的工厂SimpleCoffeeFactory,它们的模式结构图如下 AmericanCoffee和LatteeCoffee需要继承Coffee这个抽象产品同时都要实现Coffee中的抽象方法比如获取咖啡名称添加牛奶加糖等方法而SimpleCoffeeFactory是生产咖啡的工厂需要提供一个静态的创建咖啡的方法同时这个方法的返回值类型必须是Coffee抽象类这就体现了多态的特性即父类引用可以指向子类对象。 相关代码如下 抽象咖啡类其实也可以是接口我定义的是抽象类 abstract public class Coffee {abstract protected void getName();abstract protected void addMilk();abstract protected void addSugar(); }美式咖啡具体产品 public class AmericanCoffee extends Coffee{Overrideprotected void getName() {System.out.println(American Coffee...);}Overrideprotected void addMilk() {System.out.println(add American coffee milk...);}Overrideprotected void addSugar() {System.out.println(add American coffee sugar...);} }拿铁咖啡具体产品 public class LatteCoffee extends Coffee{Overrideprotected void getName() {System.out.println(Latte Coffee...);}Overrideprotected void addMilk() {System.out.println(add Latte Coffee milk...);}Overrideprotected void addSugar() {System.out.println(add Latte Coffee sugar...);} }咖啡工厂类 public class SimpleCoffeeFactory {public static Coffee createFactory(String type){Coffee coffee null;if (AmericanCoffee.equals(type)){coffee new AmericanCoffee();} else if (LatteeCoffee.equals(type)) {coffee new LatteCoffee();}return coffee;} }在咖啡工厂类中定义了一个创建咖啡的静态方法入参是咖啡的类型根据类型判断返回具体咖啡对象。 在外部可以创建一个咖啡店类调用工厂提供的静态方法去创建具体的咖啡 public class CoffeeStory {public static void main(String[] args) {orderCoffee(AmericanCoffee);}public static Coffee orderCoffee(String name){SimpleCoffeeFactory simpleCoffeeFactory new SimpleCoffeeFactory();Coffee coffee simpleCoffeeFactory.createFactory(name);coffee.getName();coffee.addMilk();coffee.addSugar();return coffee;} }三、简单工厂模式的缺点 在简单工厂模式中工厂类包含必要的判断逻辑决定在什么时候创建哪一个产品类的实例客户端可以直接免除直接创建产品对象的责任而仅仅“消费”产品简单工厂模式通过这种方式实现了对责任的划分。但是由于工厂类集中了所有产品创建逻辑一旦不能正常工作整个系统都要受到影响同时系统扩展较为困难一旦添加新产品就不得不修改工厂逻辑违反了开闭原则。比如上面的案例如果我们再增加一种意大利咖啡那么在创建具体产品类的同时静态工厂方法的代码逻辑需要改动。因此简单工厂模式是存在很多问题的通常并不用于实际开发中。 总结 本篇我们结合实际案例说明了简单工厂模式的设计原理和它包含的角色下面我们继续看另一种设计更合理的工厂方法模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

连江福州网站建设头像制作器在线制作

CentOS操作系统的特点如下: 免费开源:CentOS是一个免费开源的操作系统,完全免费,无需花费任何成本。 稳定性高:CentOS以其出色的稳定性和安全性而闻名。它是一个基于Red Hat Enterprise Linux(RHEL&#x…

国和建设集团网站广州网站优化公司排名

背景: 之前用酷安上下载的苏苏亮亮版友提供的Openwrt,在高通410棒子上刷机成功,但编译一直就没搞定。近期听说又出了个分支版本ImmortalWrt,刷了个版本,感觉界面清爽不少,内核也升级,遂打算搞定…

建设网站要什么电脑网页设计与制作教程电子书

随着电子商务的快速发展,物流行业的包裹数量持续增长,给物流企业带来了巨大的运营压力。目前,国内大型物流运转中心已开始采用机器视觉自动化设备,但多数快递公司处于半自动化状态,中小型物流分拣中心目前仍靠人工录入…

网站后台打开很慢建设网站联盟

品牌发言稿的重要性不言而喻,它不仅代表着品牌形象,更是沟通品牌与消费者、合作伙伴的桥梁。如何撰写一篇高质量的品牌发言稿,成为许多品牌关注的焦点。今天媒介盒子来和大家聊聊:品牌发言稿怎么写。 一、 发言稿写作技巧 1.结构…

单页销售型网站培训机构有哪些

介绍: 在开始编写Python 3程序之前,有一些基本步骤和概念需要了解。以下是开始Python 3编程之旅的第一步介绍: 安装Python: 访问Python官方网站 python.org 下载适合您操作系统的Python版本(确保选择Python 3而非Pytho…

上海城乡建设中级职称报名网站网络策划公司全网天下

今天有位女性乎友问:我家的电脑之前一直没装宽带,主要是家人怕影响学习,不过上周就涨了,电脑终于连上网线,但没办法上网,还发现电脑设备管理器中网络适配器出现黄色感叹号。对于电脑的网络适配器感叹号问题…

网站seo快速排名优化的软件网页制作培训总结

1. 计算机视频重要分类 计算机视觉的重要任务可以大致分为以下几类: 1. 图像分类(Image Classification) 识别图像属于哪个类别,例如猫、狗、汽车等。 应用场景:物品识别、人脸识别、医疗影像分类。代表模型&#…

网站后台管理员密码wordpress调用留言板

学习大模型及相关技术,您可以按照以下步骤进行: 基础知识储备: •理解机器学习的基本概念,包括监督学习、无监督学习、强化学习等。 •掌握深度学习的基础理论,包括神经网络的工作原理、反向传播、激活函数等。 •学习…

德清网站制作修改wordpress主题名

解决方法: 打开本电脑-》管理-》服务和应用程序-》服务下找到如下图的HV 主机服务,双击选择禁用。 或者 转到“ 控制面板” >“ 卸载程序” >“ 打开或关闭Windows功能”以关闭Hyper-V。 步骤二:通过命令关闭Hyper-V(控制…

网站如何做市场推广网页制作与网站开发从入门到精通

1. 写在前面 c在线编译工具,可快速进行实验: https://www.bejson.com/runcode/cpp920/ 这段时间打算重新把c捡起来, 实习给我的一个体会就是算法工程师是去解决实际问题的,所以呢,不能被算法或者工程局限住,应时刻提…

静态单页网站wordpresswordpress后台怎么用

两台 CentOS 之间传数据:SCP 方式 文章目录 两台 CentOS 之间传数据:SCP 方式一、CentOS 安装 SSH 服务0、注意1、更新系统2、安装 OpenSSH 服务器3、启动 SSH 服务4、检查SSH服务状态5、配置防火墙6、测试 SSH 连接7、更改SSH默认端口(可选) 二、文件传…

未备案的网站 访问 hots深圳网站建设的基

智能优化算法应用:基于头脑风暴算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于头脑风暴算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.头脑风暴算法4.实验参数设定5.算法结果6.参考…

网站备案认领品牌建设策略

在项目管理中,资源估算是一项至关重要的任务。正确地估算活动资源可以确保项目的顺利进行,避免资源浪费和不必要的延误。以下是对项目管理中常见的活动资源类型的详细分析。 一、人力资源 人力资源是项目管理中最基本的资源之一。它包括项目团队成员的技能、知识和经验。在…

电子商务网官方网站html网站分页怎么做

相信很多朋友在寻找电子书资源的时候都会遇到一些困难,比如下载慢、格式不兼容等等。小边最近找到了这款制作电子书工具,无需下载,格式也很齐全,几乎可以满足所有人的需求。 想要电子书制作工具的可以在评论区踢我,现…

中山快速建站合作长沙外贸网站建设

一、概述 1.目标:把Proxy修改成可以代理任意接口及其任意方法 2.思路: (1)代理任意接口:把接口类型作为参数传给Proxy的newProxyInstance(Class interfze) (2)代理任意方法:用interfze.getMethods()取出所有方法,拼接实…

网站开发项目风险优秀产品vi设计手册

RSA算法RSA一、数学原理二、实现代码1 生成素数2 生成秘钥3 对数据进行加密、解密总结RSA RSA是一种非对称加密体制,由公钥和私钥组成,数学原理是实数域的模余法。在使用私钥对数据进行加密后,可用公钥对数据进行解密。 在RSA算法中&#xf…

清河网站制作宁波网站推广方案

项目地址https://gitee.com/lwj/flowable.git代码分支flowable-base视频讲解地址https://space.bilibili.com/485524575/channel/detail?cid94579 用户名密码0000001test0000002test0000003test0000004test文章目录1. 演示2. 代码2.1. 删除实例命令2.2. 执行删除动作1. 演示 …

公司网站建设费计入科目中国企业查询官网

目录 概述 安装 PHP 安装MySQL数据库 安装 WordPress 设置您的 WordPress 数据库 设置 MySQL/MariaDB 创建 WordPress 数据库 WordPress configuration 将WordPress站点发布到公网 安装相对URL插件 修改config.php配置 支持好友链接样式 定制主题 🎈个…

蓟县网站制作wordpress 显示全文

戳蓝字“CSDN云计算”关注我们哦!作者|马岛本文翻译自Alexandra Noonan 的 《Goodbye Microservices: From 100s of problem children to 1 superstar》内容是描述 Segment 的架构如何从 「单体应用」 -> 「微服务」 -> 「140 微服务」 -> 「单体应用」 的…

网站是什么字体高速建设材料在哪个网站购买

哈喽,大家好呀,淼淼又来和大家见面啦,如今移动应用市场不断的发展,许多开发者小伙伴们都选择将他们的应用发布到苹果App Store上,但是,有时候他们可能希望通过直接分享IPA文件来分发他们的App,那…