什么是java抽象工厂模式?

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:30:25
如题,希望举个例子!
假如有要创建一个User,包含相关属性name、sex、age的get & set的方法,另一个为UserFactory,包含相关的操作方法(如修改用户信息),我见很多教程都是把User作为一个接口(interface),而UserFactory作为一个抽象类(abstract class),请问这是为什么?有什么好处?能否把User改为抽象方法、UserFactory改为接口呢?

首先 抽象类是负责接收表单信息 然后转向给持久类 进库
这期间 大概流程是这样滴

xxxForm -> xxx抽象类 -> 判断该抽象类是否对应该实体的信息 -> get||set

接口一般都是用方法来做 接口里面放置常用的方法 增删改查 当实际用到那个方法的话 就实例化该接口(就是把你用的那个DAO实现接口方法)

总之我也说不明白 很乱的

工厂模式在项目中是常常用到的,有人说只有大项目才会用到,小项目是体会不出来.其实使用设计模式与项目的大小没有实质性的联系.设计模式是经验的总结而不是衡量项目大小的标准.

以开发项目的DAO层为例,在项目中客户的需求是常常变动的,临时更换数据库的需求也是常常发生的,那我们要如何解决跨数据库的功能,这里就要使用到抽象工厂模式了.工厂模式常常用于创建多系列化的对象(如Orale系列,MySql系列)

1.首先定义相关接口(与平常的做法没什么区别)

Java代码
// 角色表DAO接口
interface IroleDao {
void insert();

void update();
}
// 用户表DAO接口
interface IuserDao {
void find();

void delete();
}

// 角色表DAO接口
interface IroleDao {
void insert();

void update();
}
// 用户表DAO接口
interface IuserDao {
void find();

void delete();
} 2.不同的数据库有不同的SQL语句所以实现时必须分数据库来实现

Java代码
// 用户表Oralce数据库DAO
class OracleuserD