建设执业资格注册管理中心网站wordpress 两栏

news/2025/9/23 18:50:27/文章来源:
建设执业资格注册管理中心网站,wordpress 两栏,wordpress主题zhixina,拍卖网站怎么做欢迎来到设计模式系列的第三篇文章#xff01;在前两篇文章中#xff0c;我们已经学习了设计模式的基本概念以及单例模式的应用。 今天#xff0c;我们将深入探讨第二个模式——工厂方法模式。 工厂方法模式简介 工厂方法模式是一种创建型设计模式#xff0c;它提供了一…欢迎来到设计模式系列的第三篇文章在前两篇文章中我们已经学习了设计模式的基本概念以及单例模式的应用。 今天我们将深入探讨第二个模式——工厂方法模式。 工厂方法模式简介 工厂方法模式是一种创建型设计模式它提供了一种方法来创建对象但是由子类决定具体要实例化的类是哪一个。这使得一个类的实例化延迟到了其子类。 工厂方法模式旨在解决对象创建过程中的灵活性和扩展性问题。 为什么需要工厂方法模式 在软件开发中我们经常会遇到需要根据不同的条件创建不同的对象的情况。如果直接在代码中使用new关键字来创建对象会导致代码的紧耦合不利于后续的维护和扩展。工厂方法模式通过将对象的创建过程封装在工厂类中使得客户端代码与具体对象的创建过程分离从而提高了代码的灵活性和可扩展性。 工厂方法模式的实现 工厂方法模式的核心思想是将对象的创建过程交给具体的工厂类来完成。我们来通过一个例子来理解这个模式。 假设我们正在开发一个游戏游戏中有多种不同类型的武器每种武器都有自己的攻击方式。我们可以使用工厂方法模式来创建这些武器。 首先我们定义一个抽象的武器接口和多个具体的武器类 public interface Weapon {void attack(); }public class Sword implements Weapon {Overridepublic void attack() {System.out.println(挥动剑攻击);} }public class Bow implements Weapon {Overridepublic void attack() {System.out.println(拉弓射箭攻击);} }public class Axe implements Weapon {Overridepublic void attack() {System.out.println(挥动斧头攻击);} } 接下来我们定义一个抽象的武器工厂接口和多个具体的武器工厂类 public interface WeaponFactory {Weapon createWeapon(); }public class SwordFactory implements WeaponFactory {Overridepublic Weapon createWeapon() {return new Sword();} }public class BowFactory implements WeaponFactory {Overridepublic Weapon createWeapon() {return new Bow();} }public class AxeFactory implements WeaponFactory {Overridepublic Weapon createWeapon() {return new Axe();} } 在这个例子中每个具体的武器工厂类负责创建对应的武器对象。这样一来我们就可以在客户端代码中通过工厂方法来创建武器而不需要直接使用new关键字。 工厂方法模式的应用 让我们通过一个具体的例子来理解工厂方法模式的应用。假设我们正在开发一个商城系统该系统需要支持多种支付方式包括支付宝支付、微信支付等。 首先我们定义一个支付接口和多个具体的支付类 public interface Payment {void pay(); }public class Alipay implements Payment {Overridepublic void pay() {System.out.println(使用支付宝支付);} }public class WechatPay implements Payment {Overridepublic void pay() {System.out.println(使用微信支付);} } 接下来我们定义一个抽象的支付工厂接口和多个具体的支付工厂类 javaCopy code public interface PaymentFactory {Payment createPayment(); }public class AlipayFactory implements PaymentFactory {Overridepublic Payment createPayment() {return new Alipay();} }public class WechatPayFactory implements PaymentFactory {Overridepublic Payment createPayment() {return new WechatPay();} } 在客户端代码中我们可以根据需要选择合适的支付工厂来创建支付对象 public class PaymentApplication {public static void main(String[] args) {PaymentFactory factory new AlipayFactory();Payment payment factory.createPayment();payment.pay();} } 这样一来我们可以根据不同的支付需求来选择合适的支付工厂创建对应的支付对象实现了代码的灵活性和可扩展性。 小结 工厂方法模式是一种非常有用的设计模式它能够帮助我们实现对象的灵活创建减少代码的耦合度提高代码的可维护性和可扩展性。通过将对象的创建过程封装在工厂类中我们可以轻松地在不同的场景下创建不同类型的对象。 在本篇文章中我们深入探讨了工厂方法模式的概念、原理和实际应用。通过实际的案例我们理解了工厂方法模式如何帮助我们创建灵活且可扩展的对象。在下一篇文章中我们将继续学习其他有趣的设计模式敬请期待

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

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

相关文章

你有网站 我做房东 只收佣金的网站电商平台建设费用

概念 ToF 是 Time of Flight 的缩写, ToF 测量法又被称作飞光时间测量法,是通过给目标连续发射激光脉冲,然后用传感器接收在被测平面上反射回来的光脉冲,通过计算光脉冲的飞行往返时间来计算得到确切的目标物距离。因为返回时间很…

网站如何做双语言刷关键词排名seo软件

1、背景 项目上有这样一个需求&#xff0c;前端传文件过来&#xff0c;后端接收后按照特定格式对文件进行重命名。(修改文件名需求其实也可以在前端处理的) //接口类似于下面这个样子 PosMapping("/uploadFile") public R uploadFile(List<MultipartFile> fil…

如何在建设银行网站申购纪念币做网站推广怎么找客户

目录 一.类的声明 二.确定成员变量 三.成员函数 1.带参的构造函数&#xff0c;析构函数&#xff0c;拷贝构造 2.size()与capacity() 3.运算符重载 重载数组下标访问[] 重载 重载比较运算符&#xff08;<&#xff0c; < &#xff0c; > &#xff0c; > …

网站建设名词解释安徽合肥做网站

前言 K8S&#xff0c;全称 Kubernetes&#xff0c;是一个用于管理容器的开源平台。它可以让用户更加方便地部署、扩展和管理容器化应用程序&#xff0c;并通过自动化的方式实现负载均衡、服务发现和自动弹性伸缩等功能。 具体来说&#xff0c;Kubernetes 可以将应用程序打包成…

漳州市网站建设公司北京网站设计公司兴田德润优惠吗

文章目录 Mysql中的排序规则1. 数据库默认的排序规则2. 查看表的排序规则2.1 查看表排序规则2.2 查看字段排序规则 3.修改排序规则3.1 修改库3.2 修改表3.3 修改字段 Mysql中的排序规则 1. 数据库默认的排序规则 mysql8的默认排序方式是 utf8mb4_0900_ai_ci mysql5的默认排序…

湖南网站设计外包哪家好wordpress收益

在Java中&#xff0c;finally块中的代码几乎在任何情况下都会执行&#xff0c;无论是在try块中的代码正常执行完毕&#xff0c;还是遇到异常被catch块捕获时。finally块主要用于执行清理工作&#xff0c;比如释放资源等。然而&#xff0c;存在少数几种情况下finally块中的代码不…

VMware之后下一个消失的永久许可,Citrix Netscaler VPX旧版许可已经失效了!你升级了吗?

VMware之后下一个消失的永久许可,Citrix Netscaler VPX旧版许可已经失效了!你升级了吗?​哈喽大家好,欢迎来到虚拟化时代君(XNHCYL),收不到通知请将我点击星标!“ 大家好,我是虚拟化时代君,一位潜心于互联…

做阀门网站网站建设赚钱流程

Winform使用Webview2创建demo1实现回车导航到指定地址 往期目录参考文档实现1.安装visual studio2.创建单窗口应用3.修改项目中的窗体名称MainForm4.添加按钮5.添加窗口Demo16.在Demo1中添加WebView2 SDK7.在Demo1窗体中选择添加textbox和webview28.在MainForm.cs窗体中添加but…

Windows环境下实现GitLab与Gitee仓库代码提交隔离 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Julia 实现基于模板匹配的验证码识别方法

当验证码图像的字符集较小(如仅包含数字或大写字母),且字体样式统一时,模板匹配是一种简单高效的识别方法。相比通用 OCR 引擎,模板匹配不依赖外部训练数据,能快速匹配字符图像并进行识别。本文将介绍如何用 Jul…

用 Julia 的频域滤波技术识别含干扰线的验证码

在许多验证码图像中,存在大量有意添加的干扰线条、弯曲波纹或背景噪声,这些设计是为了阻止自动识别。传统空间域的二值化方法往往无法彻底去除这些干扰,导致 OCR 误识别或识别失败。频域滤波提供了另一种强大的解决…

网站设计培训学校有哪些十大社区团购平台排名

1、问题 在使用PopupWindow的时候,我们构建好了直接放在Activity的onCreate函数里面直接运行,提示这个错误 Unable to add window -- token null is not valid; is your activity running? 2、原因分析 popupWindow显示依赖activity,并且要等activity所有的生命周期方法…

快速知彼网络网站建设网站建设浏览器不兼容

文章目录 题目描述法一 模拟 题目描述 法一 模拟 初始化一个二维向量&#xff0c;名为matrix&#xff0c;它有n行和n列。向量的每个元素都是一个整数&#xff0c;初始化为0。初始化二维向量的语法如下&#xff1a;vector<vector<int>> matrix(n, vector<int>…

怎么自己开网站青岛企业自助建站系统

微调和RAG&#xff08;Retrieval-Augmented Generation&#xff09;在多个维度上存在显著的区别。以下是它们之间的主要差异&#xff1a; 1. **知识维度**&#xff1a; - RAG对知识的更新时间和经济成本更低。它不需要训练&#xff0c;只需要更新数据库即可。 - RAG对知识的掌控…

华强南网站建设网页设计实训报告题目来源

源起年初我们在找一款框架&#xff0c;希望它有如下几个特点&#xff1a;学习成本低只需要学.Net每年主推的技术栈和业务特性必须支持的中间件&#xff0c;给开发同学减负&#xff0c;只需要专注业务就好个人见解&#xff1a;一款好用的框架应该是补充&#xff0c;而不是颠覆或…

网站改版公司哪家好建设品牌型网站制作

SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测 目录 SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【SCI一区级】Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测&#xff08;程…

体育设施建设发布有没有网站汕尾市企业网站seo点击软件

上周我们介绍的天线的基础知识&#xff0c;今天亿佰特为大家介绍一下天线的安装队通信效果的影响。随着科技的发展&#xff0c;无线通信越来越深入我们的工作和生活中&#xff0c;同时天线也变成了我们生活中最常见的物品。 天线是一种能量变换器&#xff0c;它把传输线上传播的…

网站后台登录模板住房和城乡建设部网站职责

封装&#xff08;Encapsulation&#xff09;&#xff1a;封装是面向对象编程的一个基本理念&#xff0c;它将数据和对数据的操作封装在一个类中&#xff0c;并通过类的访问修饰符来控制对数据的访问。封装的目的是隐藏实现细节&#xff0c;使得类的使用者无需关心内部的具体实现…

关于公司门户网站建设的议案小程序自助搭建平台

随着社会的数字化和智能化进程的加速&#xff0c;人像采集在金融机构身份认证领域中发挥重要作用&#xff0c;为人们的生活带来更多便利和安全保障。 金融机构在身份验证上的痛点主要包括以下方面&#xff1a; 身份盗用和欺诈风险&#xff1a;传统身份验证方式可能存在漏洞&am…

Feminism in China

Due to the characteristics of Chinese language, Chinese women often consider themselves too important. I suggest that Chinese women should learn more English/Japanese or Korean, take a few names starti…