- 浏览: 958729 次
- 性别:
- 来自: 魔都
文章分类
- 全部博客 (745)
- MultiThread (19)
- My Plan (118)
- JavaBasic (61)
- MyInterview (104)
- InternetTechnique (5)
- ProjectConclusion (1)
- Maven (5)
- MogoDb (5)
- Hadoop (11)
- Memcached (6)
- TechniqueCollect (1)
- Ibaits (1)
- Android (34)
- ItLife (40)
- Tree (2)
- ProjectArchitect (7)
- Open Source (3)
- liunx (5)
- socket (8)
- Spring (27)
- DesginPattern (35)
- WebBasic (13)
- English (13)
- structs (1)
- structs2 (2)
- Oracle (17)
- Hibernate (2)
- JavaScript (4)
- Jdbc (1)
- Jvm (15)
- Ibatis (1)
- DataStructures (13)
- Https/Socket/Tcp/Ip (3)
- Linux (4)
- Webservice (7)
- Io (2)
- Svn (1)
- Css (1)
- Ajax (1)
- ExtJs (1)
- UML (2)
- DataBase (6)
- BankTechnique (3)
- SpringMvc (3)
- Nio (3)
- Load Balancing/Cluster (3)
- Tools (1)
- javaPerformanceOptimization (8)
- Lucene(SEO) (1)
- My Think (80)
- NodeJs (1)
- Quartz (1)
- Distributed-java (1)
- MySql (7)
- Project (4)
- junit (4)
- framework (1)
- enCache (1)
- git (2)
- SCJP (1)
- sd (1)
最新评论
-
lkjxshi:
你都这水平了还考这个证干嘛
SCJP 认证考试指南 -
钟逸华:
问的真多
百度java开发面试题(转) -
zuimeitulip:
觉得我就是这样的,从小阅读量就很少,导致现在的读的速度非常慢, ...
让读书成为一种习惯 -
DDT_123456:
我觉得你是不符合要求。问你hashmap的那个问题,你那样回答 ...
阿里面试2(转) -
jingjing0907:
刚刚写了很多读过此博客的感受,竟然没有发上去,以为我注册账号还 ...
让读书成为一种习惯
package com.createtype.desginpatterns.facotry.abstractfactory; // DAO工厂 //定义DAO工厂接口与实现(利用java反射机制生产出你需要的DAO如:userDAO,roleDao) abstract class AbstractDaoFactory { public static AbstractDaoFactory getInstance(String classname) { AbstractDaoFactory dao = null; try { dao = (AbstractDaoFactory) Class.forName(classname).newInstance(); } catch (Exception e) { e.printStackTrace(); } return dao; } abstract IuserDao getuserdao(); abstract IroleDao getroledao(); } // Oralce工厂 class OracleFactory extends AbstractDaoFactory { public IroleDao getroledao() { return new OracleroleDao(); } public IuserDao getuserdao() { return new UserDaoImp(); } } // MySql工厂 class MysqlFactory extends AbstractDaoFactory { public IroleDao getroledao() { return new MySqlroleDAO(); } public IuserDao getuserdao() { return new MySqluserDao(); } } package com.createtype.desginpatterns.facotry.abstractfactory; //定义配置文件 //配置文件可以定义到XML中去(好处:修改配置项之后不需要对JAVA文件进行编译.) class Config { // Oralce static final String ORALCE = "org.abc.OracleFactory"; static final String MYSQL = "org.abc.MysqlFactory"; } package com.createtype.desginpatterns.facotry.abstractfactory; // 角色表DAO接口 //1.首先定义相关接口(与平常的做法没什么区别) interface IroleDao { void insert(); void update(); } // 用户表DAO接口 interface IuserDao { void find(); void delete(); } package com.createtype.desginpatterns.facotry.abstractfactory; // 用户表Oralce数据库DAO //不同的数据库有不同的SQL语句所以实现时必须分数据库来实现 //这里增加了一套DAO的实现 (与平时有所不同,如果有10个数据库就要加上10种不同的实现,比较麻烦呀 class UserDaoImp implements IuserDao { public void delete() { System.out.println("Oralce 删除用户表数据"); } public void find() { System.out.println("Oralce 查询用户表数据"); } } // 用户表MySql数据库DAO class MySqluserDao implements IuserDao { public void delete() { System.out.println("MySql 删除用户数据"); } public void find() { System.out.println("MySql 查询用户数据"); } } // 角色表Oracle数据库DAO class OracleroleDao implements IroleDao { public void insert() { System.out.println("Oralce 对角色表插入数据"); } public void update() { System.out.println("Oracle 对角色表更新数据"); } } // 角色表MySql数据库DAO class MySqlroleDAO implements IroleDao { public void insert() { System.out.println("MySql 对角色表插入数据"); } public void update() { System.out.println("Mysql 对角色表更新数据"); } } package com.createtype.desginpatterns.facotry.abstractfactory; /** * 总结: 使用条件:一系列接口有一系列的实现 如上IuserDao、IroleDao等一系列的接口,他们可以有一系列的实现(Oracle方式、MySql方式) OracleuserDao、OracleroleDao、MySqluserDao、MySqlroleDAO 组成元素(以上面例子) 一系列接口:IuserDao、IroleDao 一系列实现:Oracle系列、MySql系列 系列工厂类:Oracle系列工厂类、MySql系列工厂类(必须继承抽象工厂类) 抽象工厂类:DaoFactory 简单工厂模式也是一个应用很广泛的模式,但是可扩展性没有工厂方法模式高。 */ /** * 工厂方法与抽象工厂的区别: * 工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。 抽象工厂模式: 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例。 简单工厂模式: 区别: 工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。 工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。 */ public class Test { public static void main(String[] args) { AbstractDaoFactory.getInstance(Config.ORALCE).getroledao().insert(); AbstractDaoFactory.getInstance(Config.MYSQL).getroledao().insert(); } }
发表评论
-
关于Java 23种设计模式的有趣见解
2013-08-10 18:01 1016关于Java 23种设计模式的有趣见解 [来源] 51CT ... -
Java中常用的设计模式(转)
2013-01-30 12:30 1116下面是我对一些常用设计模式的理解: 模式分为:行为模 ... -
工厂模式,抽象工厂模式,简单工厂的区别
2012-10-10 21:35 9541.抽象工厂模式与工厂方法模式的最大区别就在于,工 ... -
java设计模式之常用设计模式分析
2012-06-05 09:09 1276常用的设计模式有:工厂模式(工厂方法模式,简单工厂模式, ... -
java设计模式之责任链模式(行为模式 )
2012-06-04 14:31 1110(11).责任链模式: 文章链接:http:// ... -
java设计模式之观察着模式(行为模式)
2012-06-04 14:28 990(10).观察着模式Observer 文章链接:ht ... -
java设计模式之适配器模式(结构型模式)
2012-06-04 14:26 668(9).适配器模式 文章链接:http://chjl2 ... -
java设计模式之动态代理模式(结构型模式)
2012-06-04 14:24 1166(8).代理模式: 文章 ... -
java设计模式之代理模式(结构型模式)
2012-06-04 14:22 1053(8).代理模式: ... -
java设计模式之——装饰模式结(构型模式)
2012-06-03 19:34 1002三.例子代码:使用装饰 ... -
java设计模式之缺省适配器模式(构型模式)
2012-06-03 19:31 1383缺省适配器模式:文章链接:http://jzinfo.itey ... -
java设计模式之模板方法模式(行为模式 )
2012-06-03 19:03 1126package com.createtype.desginpa ... -
java设计模式之——组合模式(结构型模式 )
2012-06-03 18:24 1346接口的作用是什么?定 ... -
java设计模式之——策略模式(行为模式 )
2012-06-03 16:54 1064文章链接:http://yangguangfu ... -
java设计模式之简单工厂模式(创建型模式)
2012-06-01 00:01 1260/** * ## 具体产品(Con ... -
工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
2012-05-31 23:59 1294文章链接: http://blog.csdn.net/ ... -
java设计模式之工厂方法模式(创建型模式)
2012-05-31 23:56 951package com.createtype.desg ... -
java设计模式之单例模式(创建型模式)
2012-05-30 17:48 1063单列模式: 优点 ... -
java中设计模式分类
2012-05-01 18:31 1146常用的设计模式有:工厂模式(工厂方法模式,简单工厂模式, ... -
Bridge模式(桥接模式)
2012-04-17 22:19 962文章链接:http://airu.itey ...
相关推荐
**JAVA设计模式之抽象工厂** 在软件工程中,设计模式是一种通用的解决方案,用来解决在特定上下文中反复出现的问题。抽象工厂(Abstract Factory)模式是其中一种创建型设计模式,它提供一个创建对象的接口,但允许...
在"JAVA设计模式之抽象工厂模式"的示例中,可能会包含这些角色的实现以及如何在实际场景中应用抽象工厂模式的解释和示例代码。这个压缩包可能包含了详细的设计和实现,帮助学习者深入理解抽象工厂模式的工作原理及其...
总结来说,Java设计模式之抽象工厂模式是一种用来创建一系列相关对象的设计模式,它通过提供抽象工厂接口来隔离具体产品的创建,使系统具备更好的扩展性和封装性。在实际开发中,我们可以根据需求选择使用抽象工厂...
抽象工厂模式是设计模式中的一种,它属于创建型模式,主要解决的是当系统有多个产品族,而每个产品族又有多个具体产品时,如何组织代码的问题。在Java中,抽象工厂模式提供了一种创建对象组的方式,使得这些对象属于...
**Java设计模式——抽象工厂** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图。抽象工厂模式是设计模式中的一种结构型模式,它提供了一个创建对象族的接口,但允许子类决定实例化哪一个类。这...
抽象工厂模式是软件设计模式中的一种,属于创建型模式,它提供了一种创建对象组族的接口,而无需指定其具体类。这种模式的关键在于抽象工厂,它定义了一组产品对象的接口,并且允许子类根据不同的实现来生产一系列...
通过阅读《Java设计模式之抽象工厂模式.pdf》这份文档,你可以更深入地理解抽象工厂模式的原理、实现方式以及如何在Java项目中应用这一模式。文档中可能涵盖了模式的优缺点、实例分析、与其他设计模式的比较等内容,...
工厂模式和抽象工厂模式是两种常用的创建型设计模式,它们在Java中有着广泛的应用。本文将详细探讨这两种模式的区别,并提供代码示例来加深理解。 工厂模式和抽象工厂模式都是创建型设计模式,它们提供了代码解耦和...
抽象工厂模式是设计模式中的一种,属于创建型模式,它为创建一组相关或相互依赖的对象提供了一个统一的接口,使得客户端无需关注这些对象的具体实现细节,仅需与抽象工厂交互即可。这种模式遵循开放封闭原则(OCP)...
工厂模式是一种常用的软件设计模式,它是创建型设计模式的一种,主要解决对象的创建问题,将对象的创建过程封装起来,使得创建过程独立于使用过程。这样可以提高代码的可复用性和灵活性,同时降低了系统的耦合度。...
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它通过定义一个创建对象的接口来创建对象,但将具体实现的决定留给子类来决定。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式...
在Java编程中,工厂模式是一种非常重要的设计模式,它属于创建型模式,主要用于对象的创建。本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心...
抽象工厂模式是创建型设计模式中的一种,用于创建一系列相关或相互依赖的对象,而无需指定其具体类。抽象工厂模式强调产品的系列,对于有多个产品等级结构的系统非常有用。在抽象工厂模式中,一个工厂负责创建多个...
【JAVA设计模式研究之抽象工厂模式】 设计模式是软件工程中的重要概念,它们代表了在特定情境下解决常见问题的最佳实践。面向对象编程中的设计模式,如抽象工厂模式,是提高代码可重用性和可维护性的关键。抽象工厂...
抽象工厂模式是设计模式中的创建型模式,它为创建一系列相关或相互依赖的对象提供了一个统一的接口,使得客户端在使用这些对象时,无需关注它们的具体实现细节。这种模式的核心在于,它将对象的创建与使用分离,增强...
抽象工厂模式是Java设计模式中的一种创建型模式,它提供了创建对象族的接口,而具体的对象族由子类决定。这种模式的主要目的是隔离接口与实现,使得客户端代码在更换产品族时无需修改,增强了软件的可扩展性和可维护...