本文实例讲述了java设计模式之工厂模式。分享给大家供大家参考,具体如下:

工厂模式(factory)
涉及到4个角色:抽象工厂类角色,具体工厂类角色,抽象产品类角色和具体产品类角色。
抽象工厂类角色使用接口或者父类来描述工厂的行为,
具体工厂类角色负责创建某一类型的产品对象。
抽象产品类可以使用接口或者父类来描述产品对象的行为特征。
具体产品类就是某一具体的对象。
工厂模式不同于静态工厂模式的地方:
工厂模式在工厂类也实现了多态,而不仅仅是在产品对象上实现多态。
它可以应对不同类型的产品对应一种具体的工厂。
其设计模式如下:
抽象工厂类 IFactory
package org.test.design.f;
/**
*
* @author lushuaiyin
*
*/
public interface IFactory {
IProduct createProduct();
}
具体工厂类 CarFactory ComputerFactory
package org.test.design.f;
public class CarFactory implements IFactory {
public IProduct createProduct() {
return new Car();
}
}
package org.test.design.f;
public class ComputerFactory implements IFactory {
public IProduct createProduct() {
return new Computer();
}
}
抽象产品类 IProduct
package org.test.design.f;
public interface IProduct {
void work();
}
具体产品类 Car Computer
package org.test.design.f;
public class Car implements IProduct{
public void work() {
System.out.println("I am car.");
}
}
package org.test.design.f;
public class Computer implements IProduct{
public void work() {
System.out.println("I am Computer.");
}
}
测试:
package org.test.design.f;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
IFactory carFactory=new CarFactory();
IProduct car=(IProduct)carFactory.createProduct();
car.work();
IFactory pcFactory=new ComputerFactory();
IProduct pc=(IProduct)pcFactory.createProduct();
pc.work();
}
}
/*打印
I am car.
I am Computer.
*/
更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
# java
# 设计模式
# 工厂模式
# 深入理解Java设计模式之抽象工厂模式
# java设计模式--三种工厂模式详解
# 一文看懂JAVA设计模式之工厂模式
# Java设计模式之工厂模式
# Java设计模式之工厂模式实现方法详解
# Java设计模式之抽象工厂模式实例详解
# Java设计模式之工厂模式案例详解
# 操作技巧
# 是在
# 多态
# 相关内容
# 感兴趣
# 而不
# 数据结构
# 给大家
# 它可以
# 可以使用
# 涉及到
# 所述
# 不同类型
# 程序设计
# 实现了
# 讲述了
# args
# nbsp
# static
# main
相关文章:
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
javascript中的try catch异常捕获机制用法分析
如何通过PHP快速构建高效问答网站功能?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
如何在万网开始建站?分步指南解析
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
ui设计制作网站有哪些,手机UI设计网址吗?
股票网站制作软件,网上股票怎么开户?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
大同网页,大同瑞慈医院官网?
linux top下的 minerd 木马清除方法
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
C++时间戳转换成日期时间的步骤和示例代码
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
安徽网站建设与外贸建站服务专业定制方案
建站之星代理如何获取技术支持?
如何快速搭建FTP站点实现文件共享?
微信h5制作网站有哪些,免费微信H5页面制作工具?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何快速启动建站代理加盟业务?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
C#怎么创建控制台应用 C# Console App项目创建方法
香港服务器租用每月最低只需15元?
如何挑选高效建站主机与优质域名?
成都网站制作报价公司,成都工业用气开户费用?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
已有域名和空间,如何快速搭建网站?
建站之星展会模板:智能建站与自助搭建高效解决方案
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何访问已购建站主机并解决登录问题?
北京网站制作公司哪家好一点,北京租房网站有哪些?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
制作农业网站的软件,比较好的农业网站推荐一下?
太原网站制作公司有哪些,网约车营运证查询官网?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
招贴海报怎么做,什么是海报招贴?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
香港服务器建站指南:免备案优势与SEO优化技巧全解析
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
建站之星会员如何解锁更多建站功能?
如何在阿里云香港服务器快速搭建网站?
如何彻底卸载建站之星软件?
*请认真填写需求信息,我们会在24小时内与您取得联系。