- 浏览: 1990215 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- JavaEE (122)
- Oracle数据库 (29)
- JavaScript (37)
- SAP (5)
- MySql数据库 (7)
- JavaSE (4)
- Ajax (1)
- jQuery (13)
- SSH框架 (36)
- Web Service (10)
- JSF框架 (2)
- JBPM (0)
- ireport报表 (2)
- ibatis (5)
- Hibernate (31)
- JSP (11)
- Tomcat 服务器 (20)
- Other (19)
- JavaWeb (4)
- Maven (11)
- OSWorkFlow (10)
- HTML (13)
- Exception汇总 (7)
- SVN (2)
- 笑话 (1)
- JSTL (1)
- WebSphere Message Broker (13)
- ANT命令 (3)
- Liunx (12)
- Struts2 (26)
- Eclipse (6)
- DOS (3)
- Flex (11)
- WebSphere (1)
- 开发常用工具 (3)
- Junit (2)
- EJB (4)
- Struts1.2 (2)
- Jboss (1)
- Android (2)
- Java框架源码解析 (1)
- Spring (4)
- MyBatis (6)
- SpringMVC (4)
- Jetty (2)
- 数据库表设计 (1)
- SSO (4)
最新评论
-
贝塔ZQ:
也可以试试PageOffice插件,觉得更简单点
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度 -
jia1208:
...
Could not publish server configuration for Tomcat v6.0 Server at localhost. -
u011274527:
赞
java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误 -
旭旭小牛啦:
怎么没哟了,继续赛
jQuery 选择器 -
wzw3919:
100行会报空指针
Java 解压缩zip文件
概述:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
1.一个系统要独立于它的产品的创建、组合和表示时。 2.一个系统要由多个产品系列中的一个来配置时。 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时。 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时。
package pack.java.IAnimalFactory; /*** * 动物接口工厂; * @author Administrator * */ public interface IAnimalFactory { /** * 产生猫接口; * @return */ public ICat createCat(); /** * 产生狗接口; * @return */ public IDog createDog(); }
package pack.java.IAnimalFactory; public interface ICat { /** * 猫具有吃的方法; */ public void eat(); }
package pack.java.IAnimalFactory; public interface IDog { /** * 狗具有吃的方法; */ public void eat(); }
package pack.java.AbstractFactory; import pack.java.AnimalModel.BlackCat; import pack.java.AnimalModel.BlackDog; import pack.java.IAnimalFactory.IAnimalFactory; import pack.java.IAnimalFactory.ICat; import pack.java.IAnimalFactory.IDog; /** * 黑颜色动物实现类; * @author Administrator * */ public class BlackAnimalFactory implements IAnimalFactory{ /** * 产生一只黑猫; */ public ICat createCat() { // TODO Auto-generated method stub return new BlackCat(); } /** * 产生一只狗; */ public IDog createDog() { // TODO Auto-generated method stub return new BlackDog(); } }
package pack.java.AbstractFactory; import pack.java.AnimalModel.WhiteCat; import pack.java.AnimalModel.WhiteDog; import pack.java.IAnimalFactory.IAnimalFactory; import pack.java.IAnimalFactory.ICat; import pack.java.IAnimalFactory.IDog; public class WhiteAnimalFactory implements IAnimalFactory{ public ICat createCat() { // TODO Auto-generated method stub return new WhiteCat(); } public IDog createDog() { // TODO Auto-generated method stub return new WhiteDog(); } }
package pack.java.AnimalModel; import pack.java.IAnimalFactory.ICat; public class BlackCat implements ICat{ /*** * 黑猫具有吃的方法; */ public void eat() { // TODO Auto-generated method stub System.out.println("一只黑猫,正在捕捉老鼠!"); } }
package pack.java.AnimalModel; import pack.java.IAnimalFactory.IDog; public class BlackDog implements IDog{ /** * 黑狗具有吃的方法; */ public void eat() { // TODO Auto-generated method stub System.out.println("一条黑狗,正在啃骨头!"); } }
package pack.java.AnimalModel; import pack.java.IAnimalFactory.ICat; public class WhiteCat implements ICat{ public void eat() { // TODO Auto-generated method stub System.out.println("一只白猫,正在吃鱼!"); } }
package pack.java.AnimalModel; import pack.java.IAnimalFactory.IDog; public class WhiteDog implements IDog{ public void eat() { // TODO Auto-generated method stub System.out.println("一条白狗,正在吃东西!"); } }
package pack.java.testdemo; import pack.java.AbstractFactory.BlackAnimalFactory; import pack.java.AbstractFactory.WhiteAnimalFactory; import pack.java.IAnimalFactory.IAnimalFactory; import pack.java.IAnimalFactory.ICat; import pack.java.IAnimalFactory.IDog; /** * 测试抽象工厂; * @author Administrator * */ public class TestAbstractFactory { /** * 主方法; * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //实例化一个黑色动物工厂类, IAnimalFactory animalFactory = new BlackAnimalFactory(); //产生一只黑猫; ICat blackCat = animalFactory.createCat(); //黑猫吃东西; blackCat.eat(); //产生一只黑狗; IDog blackDog = animalFactory.createDog(); //黑狗吃东西; blackDog.eat(); System.out.println(""); //实例化一个白色动物工厂; IAnimalFactory whiteAnimalFactory = new WhiteAnimalFactory(); //产生一只白猫; ICat whiteCat = whiteAnimalFactory.createCat(); //白猫吃东西的方法; whiteCat.eat(); //产生一只白狗; IDog whiteDog = whiteAnimalFactory.createDog(); //白狗吃东西的方法; whiteDog.eat(); } }
运行结果:
一只黑猫,正在捕捉老鼠!
一条黑狗,正在啃骨头!
一只白猫,正在吃鱼!
一条白狗,正在吃东西!
- AbstractFactory.rar (9.8 KB)
- 下载次数: 0
发表评论
-
解决Java服务器端插入数据到Mysql中乱码问题--简单几步轻松解决乱码问题
2015-11-13 17:52 2418当写入数据到mysql数据库中发生乱码时.请检查以下几个地 ... -
设计模式之-代理模式-Proxy
2015-04-28 21:24 869使用代理模式之前需要知道代理模式能做什么? 能有哪些好处以及 ... -
构建高并发、服务化、低耦合企业级脚骨:springmvc+mybatis+restfull+webservice+bootstrap html5
2015-04-14 01:17 85SpringMVC + Mybatis + SpringS ... -
教您搭建大型互联网企业架构:springmvc+mybatis+restful+webservice+quartz+bootstrap
2015-04-13 21:54 99SpringMVC + Mybatis + SpringS ... -
大型互联网服务集成平台:springmvc+mybatis+restful+webservice+quartz+bootstrap html5
2015-04-13 21:49 81SpringMVC + Mybatis + SpringSe ... -
大型互联网服务集成平台:springmvc+mybatis+restfull+JMS+webservice+bootstrap
2015-04-12 23:36 22SpringMVC + Mybatis + SpringS ... -
大型互联网服务集成平台:springmvc+mybatis+restfull+JMS+webservice+bootstrap
2015-04-12 23:33 83SpringMVC + Mybatis + SpringS ... -
Maven构建大型互联网架构springmvc+mybatis+Restfull+Webservice+Bootstrap
2015-04-12 23:28 71SpringMVC + Mybatis + SpringS ... -
maven构建高大上开源架构:springmvc+mybatis+rest+bootstrap html5
2015-04-12 23:25 23SpringMVC + Mybatis + SpringS ... -
手机App后台架构:Springmvc+SpringSecurity+mybatis+Rest+Quartz+Bootstrap Html5( Maven构建)
2015-04-09 01:39 76APP后台架构Maven构建,模拟大型互联网架构,支持高并发 ... -
maven构建springmvc+mybatis+rest+webservice+bootstrap html5(cms开源项目)
2015-04-09 01:21 85SpringMVC + Mybatis + SpringS ... -
Java正则表达式
2014-11-26 21:03 1220Java正则表达式: package pack.ja ... -
Cannot convert value of type [org.springframework.cache.ehcache.EhCacheCache
2014-11-10 20:03 6252错误信息: [org.springframework.be ... -
Collections工具类中的frequency方法统计单词出现的次数
2013-11-05 21:30 2818最近发现了一个Collections中有一个很好用的方法: ... -
Java 压缩Excel文件生成.zip文件
2013-05-08 22:22 7952首先创建文件目录,然后生成Excel文件到创建的目录下, ... -
Java 解压缩zip文件
2013-05-08 13:14 8351不借助于其他的第三方 ... -
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度
2013-04-06 22:26 57717最近项目中需要用到导出Excel文件,以下是我写了一个通过j ... -
java获取字节的长度.
2012-05-17 22:00 6745我们经常要获取中文,数字,或者英文字符所占字节的长度,下面就列 ... -
StringBuffer-reverse()字符反转功能
2012-05-17 21:42 7095在书上看到一个这样的例子, 采用最简便的方式把一串字符串反转过 ... -
java 打开IE
2012-05-23 22:14 1302Runtime.getRuntime().exec(" ...
相关推荐
设计模式---抽象工厂模式(Abstract Factory)-UML图 (StarUML)
此外,抽象工厂模式还可以与其他设计模式结合使用,比如工厂方法模式(Factory Method Pattern),在某些情况下,可以将抽象工厂模式的抽象工厂类设计为工厂方法模式,让子类决定实例化哪一个类。同时,抽象工厂模式...
"抽象工厂"是设计模式中的一种,属于创建型模式,它提供了一种创建对象族的接口,而无需指定它们的具体类。这个模式的核心在于隔离了产品对象的创建过程,使得系统对具体产品的依赖最小化,从而增强了系统的灵活性和...
设计模式 - 抽象工厂模式 抽象工厂模式是一种创建型设计模式,它提供了一种方式来创建一组相关或相互依赖的对象,而不需要指定具体的类。该模式允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际...
**设计模式——抽象工厂之小解** 在软件工程中,设计模式是一种被广泛采用的解决常见问题的经验总结,它们是经过验证的、可重用的解决方案。抽象工厂(Abstract Factory)设计模式是其中的一种创建型模式,它提供了...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象集合的接口,而无需指定具体的类。这种模式允许系统独立于如何创建、组合和表示产品对象的细节进行设计,为产品族(一组相关或相互依赖的对象)提供...
抽象工厂模式是创建型设计模式的一种,它提供了一种创建对象族(一组具有相互依赖关系的对象)的方法,而无需指定具体类。这种模式的核心在于它允许客户端代码与具体实现细节解耦,使得更换一个产品族变得更为容易。...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象集合的接口,而无需指定具体类。这种模式的关键在于,它允许客户端代码在不关心具体实现的情况下,能够创建一系列相关的对象,同时保持了良好的封装...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象族的接口,而无需指定具体的类。这种模式允许客户端使用一个通用接口来创建一组相关或相互依赖的对象,而无需了解它们的具体实现。在Java或其他面向...
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它通过定义一个创建对象的接口来创建对象,但将具体实现的决定留给子类来决定。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式...
总之,"走进设计模式之抽象工厂"这篇博客深入探讨了抽象工厂模式的原理、实现方式、应用场景及其优缺点,旨在帮助读者理解并有效地运用这一设计模式。通过阅读博客和分析提供的代码示例,开发者可以更好地掌握抽象...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象族的接口,而无需指定其具体的类。这种模式的关键在于“族”,即一系列相关的对象。在抽象工厂模式中,我们创建一个抽象工厂接口,然后为每一种具体...
抽象工厂模式是设计模式中的一种,它属于创建型模式,主要解决的是当系统有多个产品族,而每个产品族又有多个具体产品时,如何组织代码的问题。在Java中,抽象工厂模式提供了一种创建对象组的方式,使得这些对象属于...
抽象工厂模式是软件设计模式中的一种创建型模式,它提供了一种创建对象族(一组具有相互依赖关系的对象)的方法,而无需指定它们的具体类。在Java编程中,抽象工厂模式通常用于实现跨平台或者跨框架的接口,使得系统...
抽象工厂模式是Java设计模式中的一种创建型模式,它提供了创建对象族的接口,而具体的对象族由子类决定。这种模式的主要目的是隔离接口与实现,使得客户端代码在更换产品族时无需修改,增强了软件的可扩展性和可维护...
在众多设计模式中,“抽象工厂”(Abstract Factory)模式是一种创建型模式,它提供了一个接口,用于创建相关或依赖对象的家族,而不必指定它们的具体类。这一模式深受哲学的影响,特别是“形而上学”的概念,探讨了...
**抽象工厂方法(Abstract Factory Pattern)**是一种创建型设计模式,它提供了一种创建对象族的接口,而具体的对象族由子类决定。在C++中,这种模式可以帮助我们隔离对象的创建和使用,使得代码更加灵活,易于扩展...
**Java设计模式——抽象工厂** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图。抽象工厂模式是设计模式中的一种结构型模式,它提供了一个创建对象族的接口,但允许子类决定实例化哪一个类。这...
本篇主要探讨的是“抽象工厂”设计模式,这是一种创建型设计模式,它提供一个接口用于创建相关或依赖对象的家族,而无需指定具体类。 抽象工厂模式的核心概念是“工厂”,它不直接生产产品,而是提供一个创建产品的...