昆明网站如何制作wordpress 新建数据表

news/2025/9/26 22:05:30/文章来源:
昆明网站如何制作,wordpress 新建数据表,外贸出口流程步骤,wordpress个人博客毕业设计一、介绍 工厂方法模式#xff08;Factory Pattern#xff09;#xff0c;是创建型设计模式之一。工厂方法模式是一种结构简单的模式#xff0c;其在我们平时开发中应用很广泛#xff0c;也许你并不知道#xff0c;但是你已经使用了无数次该模式了#xff0c;如Android…一、介绍 工厂方法模式Factory Pattern是创建型设计模式之一。工厂方法模式是一种结构简单的模式其在我们平时开发中应用很广泛也许你并不知道但是你已经使用了无数次该模式了如Android中的Activity里的各个生命周期方法以onCreate方法为例它就可以看作是一个工厂方法我们在其中可以构造我们的View并通过setContentView返回给framework处理等相关内容我们下面再讲先看看工厂方法模式定义。 二、定义 定义一个用于创建对象的接口让子类决定实例化哪个类。 三、使用场景 在任何需要生成复杂对象的地方都可以使用工厂方法模式。复杂对象适合使用工厂模式用new就可以完成创建的对象无需使用工厂模式。 四、模式的简单实现 抽象产品类 public abstract class Product {/*** 产品类的抽象方法* 由具体的产品类去实现* */public abstract void method(); } 具体产品类A public class ConcreteProductA extends Product {Overridepublic void method() {System.out.println(我是具体的产品A);} } 具体产品类B public class ConcreteProductB extends Product {Overridepublic void method() {System.out.println(我是具体的产品B);} } 抽象工厂类 public abstract class Factory {/*** 抽象工厂方法* 具体由子类实现* * return 具体的产品对象* */public abstract Product createProduct(); } 具体工厂类 public class ConcreteFactory extends Factory {/*** 具体工厂类* */Overridepublic Product createProduct() {return new ConcreteProductA();} } 客户类 public class Client {public static void main(String[] args) {Factory factory new ConcreteFactory();Product product factory.createProduct();product.method();} } 结果 我是具体的产品A 这里的几个角色都很简单主要分为四大模块一是抽象工厂其为工厂方法模式的核心二是具体工厂其实现了具体的业务逻辑三是抽象产品是工厂方法模式所创建的产品的父类四是具体产品为实现抽象产品的某个具体产品的对象。 上述的代码中我们在Client类中构造了一个工厂对象并通过其生产了一个产品对象这里我们得到的产品对象是ConcreteProductA的实例如果想得到ConcreteProductB的实例更改ConcreteFactory中的逻辑即可 public class ConcreteFactory extends Factory {/*** 具体工厂类* */Overridepublic Product createProduct() {//return new ConcreteProductA();return new ConcreteProductB();} } 这种方式比较常见需要哪一个产品就生产哪一个有时候也可以利用反射的方式更简洁的来生产具体产品对象此时需要在工厂方法的参数列表中传入一个Class类来决定是哪一个产品类 public abstract class Factory {/*** 抽象工厂方法* 具体由子类实现* * param clz 产品对象类类型* * return 具体的产品对象* */public abstract T extends Product T createProduct(ClassT clz); } 对于具体的工厂类则通过反射获取类的示例即可 public class ConcreteFactory extends Factory {/*** 具体工厂类* */SuppressWarnings(unchecked)Overridepublic T extends Product T createProduct(ClassT clz) {Product product null;try {product (Product) Class.forName(clz.getName()).newInstance();} catch (Exception e) {e.printStackTrace();}return (T)product;} } 最后在看看Client中的实现 public class Client {public static void main(String[] args) {Factory factory new ConcreteFactory();Product product factory.createProduct(ConcreteProductB.class);product.method();} } 需要哪一个类的对象就传入哪一个类的类型即可这种方法比较简洁、动态如果你不喜欢这种方式也可以尝试为每一个产品都定义一个具体的工厂各司其职。 public class ConcreteFactoryA extends Factory {/*** 具体工厂类**/Overridepublic Product createProduct() {return new ConcreteProductA();} }public class ConcreteFactoryB extends Factory {/*** 具体工厂类**/Overridepublic Product createProduct() {return new ConcreteProductB();} }public class Client {public static void main(String[] args) {Factory factoryA new ConcreteFactoryA();Product productA factoryA.createProduct();productA.method();Factory factoryB new ConcreteFactoryB();Product productB factoryB.createProduct();productB.method();} } 像这样拥有多个工厂的方式我们称为多工厂方法模式同样的回到我们最初的那个工厂方法模式当我们的工厂只有一个的时候我们还是为工厂提供了一个抽象类那么我们是否可以将其简化掉呢如果确定你的工厂类只有一个那么简化掉抽象类是肯定没问题的我们只需要将对应的工厂方法改为静态方法即可 public class Factory {/*** 具体工厂类**/Overridepublic static Product createProduct() {return new ConcreteProductA();} } 像这样的方式又称为简单工厂模式或静态工厂模式它是工厂方法模式的一个弱化版本。 其实到这里大家应该可以发现工厂方法模式是完全符合设计原则的其降低了对象之间的耦合度而且工厂方法模式依赖于抽象的架构其将实例化的任务交由子类去完成有非常好的扩展性。 五、Android源码中的工厂方法模式 Activity的各种生命周期ArrayList和HashSet 六、总结 优点 工厂方法模式完全符合设计原则降低了对象之间的耦合。高层模块只需要知道产品的抽象类其他的实现都不需要关心。 良好的封装性代码结构清晰。扩展性好。 缺点 每次我们为工厂方法模式添加新的产品时就要编写一个新的产品类。同时还要引入抽象层这必然会导致类结构的复杂化所以在某些情况比较简单时是否要使用工厂模式需要设计者权衡利弊了。

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

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

相关文章

顺德高端网站django网站开发教程

Thread的主要数据成员为_Thr 里面存储的是线程句柄和线程ID 先看看赋值运算符的移动构造 最开始判断线程的ID是否不为0 _STD就是使用std的域 如果线程ID不为0,那么就抛出异常 这里_New_val使用了完美转发,交换_Val和_New_val的值 _Thr _STD exchange(_…

2025_Polar秋季赛_web全解

简单写写,陇剑杯,强网杯,ISCC都得整,复盘备赛啥的Polar秋季赛-web white-简考点: rceBase编码绕过倒是正常 关键认识到一个新的读文件的函数rev,逆向输出文件内容给出一个终端进行命令执行一些字符,关键字被过滤…

QT:如何初始化窗体尺寸大小

QT5:如何初始化窗体尺寸大小?qt: 在构造函数中直接调用他设置大小就可以。如: this->resize( QSize( 800, 600 )); 例子:#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWind…

网站建设陆金手指下拉贰拾论坛网站建设视频教程

"code-runner.executorMap": {"python": "set PYTHONIOENCODINGutf8 && python $fullFileName"}

制作一个网站的基本步骤园林景观设计公司管理制度及流程

文章目录 寄存器(CPU工作原理)1. 通用寄存器2. 字在寄存器中的存储3. 几条汇编指令4. 物理地址5. 16位结构的CPU6. 8086CPU给出物理地址的方法7. 段的概念8. 段寄存器9 . CS和IP10. 修改CS、IP的指令11. 代码段 寄存器(CPU工作原理) 一个典型的CPU由运算器、控制器、寄存器等器…

网站怎么访问自己做的网页中国建设银行官方网站

在正常情况上,这是由于没的在AndroidManifest.xml中进行注册引起的。转载于:https://www.cnblogs.com/zhaojianwei/p/3971238.html

温州做网站公司哪家好企业qq官网首页

抖音在国内是比较知名的短视频运营商,也有很大的流量市场。这块优化好了,不管是对于用户还是企业来说,在品牌宣传上来说,作用还是蛮大的。抖音优化和电脑端优化,还是有所区别的,这里参考的是点赞数、评论以…

网站开发语言用什么好淘宝客网站用什么软件做

作为从事CAD设计的我,已经深深的了解到了CAD设计行业的辛苦。dwg格式的文件作为CAD文件格式常见的专业格式,它能够很好的帮助我们保存好绘制好的CAD图纸。现在几乎在很多领域都可以见到,有的时候会根据需要对CAD图纸进行格式转换。很多的网友…

网站开发工程师工资hangq重庆做网站哪家公司好

导读 按照现在流行的互联网分层架构模型,最简单的架构当属Web响应层DB存储层的架构。从最开始的单机混合部署Web和DB,到后来将二者拆分到不同物理机以避免共享机器硬件带来的性能瓶颈,再随着流量的增长,Web应用变为集群部署模式&…

如何给网站做右侧悬浮电话三网合一网站建设是指什么

目录 前言引用unplugin-auto-import插件的优缺点优点缺点 unplugin-auto-import插件引入安装插件配置vite配置更新TypeScript配置使用代码位置 总结 前言 是否添加unplugin-auto-import取决于项目需求和团队习惯。如果项目中频繁使用Vue相关API,并且团队成员都熟悉这…

9月23日(日记里有)

今天早上参加实训课程,本周我上的是数控加工,我们学习了有关操作车床最基本的安全的知识,然后我们按照老师的指导完成了老师布置的任务,然后体验了如何制作一个简单的小零件。

微信小程序实现流式传输(打字机效果)

微信小程序实现流式传输(打字机效果)Posted on 2025-09-26 21:23 且行且思 阅读(0) 评论(0) 收藏 举报最近公司在做一款小程序,其中最主要业务的体现方式就是“与AI对话”,那一定是绕不过有着打字机效果的流式…

9月25日(日记里有)

今天上的体育是篮球,今天的基础训练让我重新记起来了部分的篮球的技巧,手感也回来了部分/

建设银行网站维修图片虚拟主机代理商的网站打不开了怎么办

随着互联网的发展,Web1.0、Web2.0 和 Web3.0 成为了人们口中津津乐道的话题。那么,这三种网络时代究竟有什么区别呢? Web1.0 是一个只读的时代,那个时候,用户只能浏览网页,无法进行互动和创作。Web2.0 则是…

Git 提交代码前,一定要做的两件事

作为团队开发的一员,Git 的使用习惯直接影响大家的协作效率。分享两个我每次提交代码前必做的事,虽然简单,但能避免很多不必要的麻烦。​ 第一件事是 拉取最新代码,也就是 git pull。很多时候我们本地开发了半天,…

本地调试接口时遇到的跨域问题,十分钟解决

昨天在本地调试前端项目时,调用后端接口突然报了跨域错误,浏览器控制台清一色的 Access-Control-Allow-Origin 提示,一开始以为是后端配置的问题,折腾半天发现其实前端自己就能解决,分享下我的排查和解决过程。​…

从0开始使用LabVIEW处理数据采集卡-概述和新建新建工程

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

用 Excel 快速处理接口返回的 JSON 数据

作为前端开发者,有时候需要把接口返回的 JSON 数据整理成表格,方便和产品、测试核对数据。之前我都是手动复制粘贴,一条数据要改半天,后来发现用 Excel 就能快速处理,分享下具体步骤。​ 首先,把接口返回的 JSON…

网站建设的几个阶段商城网站不易优化

cf1552F. Telepanting 题意: 在一个坐标轴上,有n个传送门,格式为:xi,yi,si,可以从xi传送到yi,si表示状态,如果si为0,到位置xi时不会传送,si变为1.如果到达xi时si为1,则…