关于 DAO 接口设计的思考
来源:互联网 发布:时时动态数据展现工具 编辑:程序博客网 时间:2024/04/25 04:30
需求: 现在要设计 3 个 DAO 分对 Wind, Horse, Cow 进行增、删、改以及一些其他操作。
设计一:
Java代码
Public interface WindDao {
public void create(Wind obj);
public void delete(Wind obj);
public void update(Wind obj);
public void other(Wind obj);
}
Public interface HorseDao {
public void create(Horse obj);
public void delete(Horse obj);
public void update(Horse obj);
public void other(Horse obj);
}
Public interface CowDao {
public void create(Cow obj);
public void delete(Cow obj);
public void update(Cow obj);
public void other(Horse obj);
}
设计二:
Java代码
Public interface BaseDao {
public void create(Object obj);
public void delete(Object obj);
public void update(Object obj);
}
Public interface WindDao extends BaseDao {
public void other(Wind obj);
}
Public interface HorseDao extends BaseDao {
public void other(Horse obj);
}
Public interface CowDao extends BaseDao {
public void other(Horse obj);
}
疑惑:
采用设计一: 发现增、删、改 这些方法重复了。
采用设计二: 发现 WindDao 不但可以对 Wind 进行增、删、改操作,
而且可以对其他任意对象进行增、删、改操作。似乎违反了OO的设计原则。
解决方案
Java代码
public interface BaseDao<T> {
public void create (T t);
public void delete (T t);
public void update (T t);
}
public interface WindDao extends BaseDao<Wind> {
public void other (Wind wind);
}
- 关于 DAO 接口设计的思考
- 关于接口设计的一些思考
- 前后端交互-一些关于接口设计的思考
- mybatis泛型DAO接口的设计
- mybatis泛型DAO接口的设计
- 关于接口的一些思考
- DAO查询接口设计
- DAO接口如何设计?
- 6.设计DAO接口
- 关于细粒度泛型DAO封装的一些思考
- 关于设计的杂录、思考
- 关于数据库的设计思考
- 关于设计模式的思考
- 关于设计模式的思考
- 关于设计的一点思考:
- 关于库接口的几点思考
- mybatis 泛型DAO接口设计
- 基于DAO层的泛型接口设计
- 程序员
- 二,三,四层交换机的区别-转
- Cisco Nexus 7000系列交换机
- 射频卡多线程读写原理及其实现
- 单点登录系统的设计与实现方案
- 关于 DAO 接口设计的思考
- 二维数组调整大小
- net发送邮件1
- fjnu 1901 Numbers That Count
- net发送邮件2
- JSP中的隐含对象
- 泛型写基础DAO
- Modbus通讯协议详解
- 基于.NET2.0的System.Net.Mail发送邮件Demo