锁定老帖子 主题:关于web层与业务层的接口问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-13
你搞个sequenceDao.nextVal(Strnig sequenceName),不管oracle,mysql,sybase,你自己的程序就不需要任何改变了.如果不用接口,sequenceDao实现为一个类,那么你得把里面的代码删除,修改.要改回来,就得把代码拷回来.如果有多个数据库,OK,没法了,只得改名字.dao1,dao2,dao3...
|
|
返回顶楼 | |
发表时间:2006-10-13
sequenceDAO不会是生成序列ID的吧,还是唯一性ID?
前者太那个了,何况,oracle这些rowid是不让改的! 后者,常用操作,比较流行!32位加密! |
|
返回顶楼 | |
发表时间:2007-02-02
使用接口可以使具体实现依赖于接口,如果具体实现需要改变那么就直接更换就可以,这样可以提高可维护性,同时提高可重用性.
|
|
返回顶楼 | |
发表时间:2007-02-03
Uranus 写道 写代码中想到一个问题,
1.业务层先写了接口,然后再实现了它 2.不写接口直接在业务层写函数实现 两者有什么区别,写接口的好处是什么?? 单单从程序开发的角度来说,不写接口更方便,但是你到了系统维护和扩展阶段你就会知道没有接口的痛苦拉。 |
|
返回顶楼 | |
发表时间:2007-02-03
其实接口不光有隐藏它本身实现细节的作用, 还有隐藏实现中不相关的其它逻辑的作用, 比如:
class OrderDAO { Order createOrder(...); void deleteOrder(...); void exportOrders(DataTarget dt); void importOrders(DataSource ds); } 内部门户Web应用的程序可能只用到前两个方法, 而负责联合数据处理的管理门户都要用到. 这时候给它提取出接口来就更清晰优雅: interface LocalOrderDAO { Order createOrder(...); void deleteOrder(...); } interface FederalOrderDAO extends LocalOrderDAO { void exportOrders(DataTarget dt); void importOrders(DataSource ds); } 然后实现类很可能还是一个, 但内部门户网站的程序就只需要依赖于, 并且只关心 LocalOrderDAO. |
|
返回顶楼 | |
发表时间:2007-03-23
看看什么叫IOC先,就知道怎么解耦的了;
|
|
返回顶楼 | |
发表时间:2007-03-24
complystill 写道 其实接口不光有隐藏它本身实现细节的作用, 还有隐藏实现中不相关的其它逻辑的作用, 比如:
class OrderDAO { Order createOrder(...); void deleteOrder(...); void exportOrders(DataTarget dt); void importOrders(DataSource ds); } 内部门户Web应用的程序可能只用到前两个方法, 而负责联合数据处理的管理门户都要用到. 这时候给它提取出接口来就更清晰优雅: interface LocalOrderDAO { Order createOrder(...); void deleteOrder(...); } interface FederalOrderDAO extends LocalOrderDAO { void exportOrders(DataTarget dt); void importOrders(DataSource ds); } 然后实现类很可能还是一个, 但内部门户网站的程序就只需要依赖于, 并且只关心 LocalOrderDAO. 这个例子不错,我想这样写也应该可以: interface LocalOrderDAO { Order createOrder(); void deleteOrder(); public interface FederalOrderDAO { void exportOrders(DataTarget dt); void importOrders(DataSource ds); } } 实现的时候也可以分开实现 class FederalOrderDAOImp implements LocalOrderDAO.FederalOrderDAO class LocalOrderDAOImp implements LocalOrderDAO |
|
返回顶楼 | |