东昌府聊城做网站公司jsp网站入门

bicheng/2026/1/15 22:56:05/文章来源:
东昌府聊城做网站公司,jsp网站入门,手机网站成功案例,应用商店官方下载抽象工厂模式#xff08;Abstract Factory Pattern#xff09;是一种创建型设计模式#xff0c;它提供了一个接口#xff0c;用于创建一系列相关或相互依赖的对象#xff0c;而无需指定它们具体的类。抽象工厂模式是围绕一个超级工厂创建其他工厂的模式。该模式的实现涉及…抽象工厂模式Abstract Factory Pattern是一种创建型设计模式它提供了一个接口用于创建一系列相关或相互依赖的对象而无需指定它们具体的类。抽象工厂模式是围绕一个超级工厂创建其他工厂的模式。该模式的实现涉及到多个类和对象。 下面是一个抽象工厂模式的 Java 实践案例假设我们有两种类型的产品按钮和文本框并且每种产品有两种不同的风格Windows 风格和 MacOS 风格。 步骤1为每种类型的产品定义接口 1// 按钮产品接口 2public interface Button { 3 void paint(); 4} 5 6// 文本框产品接口 7public interface TextBox { 8 void paint(); 9} 步骤2为每种风格的产品实现具体类 1// Windows 风格的按钮 2public class WindowsButton implements Button { 3 Override 4 public void paint() { 5 System.out.println(Rendering a button in a Windows style.); 6 } 7} 8 9// MacOS 风格的按钮 10public class MacOSButton implements Button { 11 Override 12 public void paint() { 13 System.out.println(Rendering a button in a MacOS style.); 14 } 15} 16 17// Windows 风格的文本框 18public class WindowsTextBox implements TextBox { 19 Override 20 public void paint() { 21 System.out.println(Rendering a text box in a Windows style.); 22 } 23} 24 25// MacOS 风格的文本框 26public class MacOSTextBox implements TextBox { 27 Override 28 public void paint() { 29 System.out.println(Rendering a text box in a MacOS style.); 30 } 31} 步骤3创建抽象工厂接口 1public interface GUIFactory { 2 Button createButton(); 3 TextBox createTextBox(); 4} 步骤4为每种风格实现具体的工厂类 1// Windows 风格的工厂 2public class WindowsFactory implements GUIFactory { 3 Override 4 public Button createButton() { 5 return new WindowsButton(); 6 } 7 8 Override 9 public TextBox createTextBox() { 10 return new WindowsTextBox(); 11 } 12} 13 14// MacOS 风格的工厂 15public class MacOSFactory implements GUIFactory { 16 Override 17 public Button createButton() { 18 return new MacOSButton(); 19 } 20 21 Override 22 public TextBox createTextBox() { 23 return new MacOSTextBox(); 24 } 25} 步骤5客户端代码使用抽象工厂 1public class Client { 2 private Button button; 3 private TextBox textBox; 4 5 public Client(GUIFactory factory) { 6 button factory.createButton(); 7 textBox factory.createTextBox(); 8 } 9 10 public void paint() { 11 button.paint(); 12 textBox.paint(); 13 } 14 15 public static void main(String[] args) { 16 Client client; 17 18 // 使用 Windows 风格的工厂 19 client new Client(new WindowsFactory()); 20 client.paint(); 21 22 // 使用 MacOS 风格的工厂 23 client new Client(new MacOSFactory()); 24 client.paint(); 25 } 26} 在这个例子中GUIFactory 是一个抽象工厂它定义了创建一组 GUI 组件的方法。WindowsFactory 和 MacOSFactory 是两个具体的工厂它们实现了 GUIFactory 并创建对应风格的 GUI 组件。 客户端代码通过抽象工厂接口来创建 GUI 组件这样无论是 Windows 风格还是 MacOS 风格的 GUI 组件都不需要修改客户端的逻辑。 抽象工厂模式的优点是它支持对产品系列的扩展。如果我们想要添加一个新的产品风格比如 Linux 风格我们只需要添加一个新的工厂和一组产品类而不需要修改现有代码。这种模式也有助于保持家族产品的一致性确保客户端始终同时使用某个家族的所有产品。

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

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

相关文章

威海网站优化推广下载手机app的软件

全世界只有3.14 % 的人关注了数据与算法之美2018年6月4日,微软在官方博客上宣布:以75 亿美元的价格收购了全球最大的开源代码托管平台GitHub。谁也没想到,微软和开源这场长达几十年的战争,到最后双方竟然喜结连理了。不过&#xf…

长沙做公司网站大概多少钱三角镇建网站公司

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:Node.js 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续前进的勇…

湛江住房和城乡建设局网站手机营销型网站建设

为了顺应不断变化的市场需求,有些行业慢慢销声匿迹,有些行业刚刚崭露头角,目前陪诊的市场需求也在逐渐扩大,陪诊小程序也随之到来,主要面向独居老人,孕妇,残障人士等等给予专业性的陪诊就医服务…

php网站开发开发网站教程湖北神润建设工程网站

本篇文章帮大家学习java 如何中断线程,包含了Java 如何中断线程使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。以下实例演示了如何使用interrupt()方法来中断线程并使用 isInterrupted() 方法来判断线程是否已…

网站建设备案方案顶易云外贸软件

sockaddr结构体 sockaddr结构体是在网络编程中经常使用的一个数据结构,用来表示套接字地址。它是一个通用的地址结构,可以用于不同的协议(如IPv4、IPv6、UNIX等)。 在C语言中,sockaddr结构体定义如下: s…

织梦后台怎么做导航栏的网站首页网站的意思

在 Node-RED 规则引擎中,自定义节点是扩展其功能的重要方式。通过添加自定义节点,用户可以根据自己的需求定制节点,实现特定的功能。下面将介绍如何对 Node-RED 规则引擎进行重构,并添加自定义节点。 一、准备环境 首先&#xf…

宣传片制作企业济宁优化公司

在某些类中, 什么时机, 做什么事情 切入点(point-cut): 在某些类中(Class<?>[] itfc new Class<?>[] { IStudentService.class }) 通知: 什么时机, 做什么事情(InvocationHandler的invoke方法) 切面: 切入点 通知 织入(weaver): Proxy.newProxyInstance: 把切入…

新型网站设计网站经营范围

ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型 文章目录 ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型一、介绍二、使用方式1、环境安装2、代码调用3、从本地加载模型 4、API 部署 三、低成本部署1、模型量化2、CPU 部署3、Mac 部署4、…

网站建设邮医院网站开发百度文库

文章目录 序言准备环境准备图片处理图片下载kohya_ss代码修改pyvenv.cfg启动界面访问地址生成字幕准备训练的文件夹配置训练参数开始训练遇到的问题&#xff1a; 序言 在把玩stable diffusion的webUI和comfyUI后&#xff0c;思考着自己也微调一个个性化风格的checkpoint、LyCO…

国产做网站电子工程建设信息网站

Redis 除了做缓存,还能干很多很多事情:分布式锁、限流、处理请求接口幂等性。。。 1.准备工作 首先创建一个 Spring Boot 工程,引入 Web 和 Redis 依赖,同时考虑到接口限流一般是通过注解来标记,而注解是通过 AOP 来解析的,所以还需要加上 AOP 的依赖,最终的依赖如下:…

用手机搭建自己的网站建设网站的公司swot

你是否因为虚拟机命令行操作不便而头疼&#xff1f;是否因为难以复制粘贴而烦恼&#xff1f;是否因为无法快速上传文件而烦躁&#xff1f; 别急&#xff01;现在有一个简单便捷的软件能够实现上述你所述说的所有烦恼&#xff0c;请听我细细道来~ 一、查看虚拟机的ip地址 a.首…

做代理网站用什么软件科技公司起名

权限管理和访问控制 1、MySQL如何控制用户对数据库的访问&#xff1f; MySQL服务器通过权限表来控制用户对数据库的访问&#xff0c;权限表存放在MySQL数据库中。MySQL数据库系统根据这些权限表的内容来为每个用户赋予权限。其中有user表、db表、table_priv表、column_priv表…

什么叫商城网站一个人在线观看播放视频

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、class类1.类属性操作&#xff08;增删改&#xff09;2.类方法操作 二、类的继承1、语法2、方法重写 二、类的多态 一、class类 、三部分组成 1、类名&#xff…

网站手机版怎么弄网站建设与优化合同

文章目录 一、设计框图二、模块设计三、IP核配置四、上板验证五、总结 一、设计框图 关于GT高速接口的设计一贯作风&#xff0c;万兆以太网同样如此&#xff0c;只不过这里将复位逻辑和时钟逻辑放到了同一个文件ten_gig_eth_pcs_pma_0_shared_clock_and_reset当中。如果是从第…

做编程网站有哪些内容php源码怎么搭建网站

TCP和UDP的概念、特点、区别和对应的使用场景&#xff1f; 我的回答&#xff1a; 概念&#xff1a; TCP是传输控制协议&#xff0c;是面向连接、可靠的、基于字节流的传输层通信协议。 UDP是用户数据报协议&#xff0c;是无连接、不可靠的&#xff0c;基于数据包的传输层通信…

网站备案是需要去哪里做网站flash制作教程

笔记来源—— 【工程数学基础】9_阈值如何选取&#xff1f;&#xff1f;在机器视觉中应用正态分布和6-Sigma【这是一期不需要记笔记的轻松视频&#xff0c;简单的知识&#xff0c;重要的运用】 比如我们要识别我们的产品上面是否有保护膜&#xff0c;我们可以通过白色像素点的…

烟台做网站哪里好淄博网站制作公司定制

一、PO :(persistant object )&#xff0c;持久对象 可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。 二、VO :(value object) &#xff0c;值对象 通常用于业务层之间的数据传递&#xff0c;和PO一样也是仅仅包含数据而已。但应是抽象出的…

湖北什么是网站建设大数据营销的应用领域

12月5日上午&#xff0c;故宫博物院与周大福珠宝集团战略合作签约仪式在故宫博物院故宫文化资产数字化应用研究所举行。文化和旅游部党组成员、故宫博物院院长王旭东&#xff0c;国际儒学联合会常务副会长、原文化部副部长丁伟&#xff0c;国际儒学联合会特别顾问、中国国际友好…

做网站花都区东莞贸易公司寮步网站建设价格

2024.1.15 题目来源我的题解方法一 三指针虚拟头结点 题目来源 力扣每日一题&#xff1b;题序&#xff1a;82 我的题解 方法一 三指针虚拟头结点 先构建一个带虚拟头结点的链表&#xff0c;然后使用三个指针p,left,right&#xff0c;分别指向最右非重复节点&#xff0c;可能…

什么网站可以做注册任务wordpress 仿百度百家

记springboot程序启动慢解决。 今天将程序发给别人后&#xff0c;别人立马说你这个启动很慢。 查看程序启动耗时分布 <!--启动耗时监测--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator…