最近在做一个的个大型的OA系统 最近在讨论数据层上发生了分歧
同事一队要求数据访问层使用存储过程的方式 然后 业务逻辑层写成调用存储过程的方式
另一队要求数据访问层使用通用存储过程的方式,然后业务逻辑层调用数据访问层(SQL语句写到这一层),,请问对这个两个需求有什么看法?哪个更好一些?优点各是什么
同事一队要求数据访问层使用存储过程的方式 然后 业务逻辑层写成调用存储过程的方式
另一队要求数据访问层使用通用存储过程的方式,然后业务逻辑层调用数据访问层(SQL语句写到这一层),,请问对这个两个需求有什么看法?哪个更好一些?优点各是什么
国内一般没有企业这样搞.
如果你的OA系统不是极大规模的话,以现在的服务器的性能,这点损失比起所得,我觉得真是方便多了。
因为存储过程在每种数据库实现的方式不同。如果是做项目,也要看部署方式和参与人员的水平和强项。
如果是部署程序不方便,而且参与项目人员的sql功底非常强悍,那么,可以用存储过程的方式去做。但是存储过程有些东西写起来,有些人喜欢一个业务逻辑写一个存储过程,
导致很多类似的存储过程代码重复。
而且存储过程较难测试,比如重构的时候。这个算是存储过程的缺点吧。如果逻辑写成代码,而且分层严谨,面向抽象的话,整个代码之后功能修改,重构,测试,都会比较方便。
比较麻烦的是如果有逻辑更改的话,部署起来比较麻烦。总之,要用什么方式去做,需要看实际情况和参与人员来定
不过存储过程依赖比较强,一般大型项目都直接写sql