有关分层设计:业务逻辑的何去何从
手头有个项目,先说一下设计,是一个传统的形式:
------------
数据库
------------
数据访问
业务层
------------
服务代理
UI(WinForm)
------------
问题来了:
例如:
1.业务层取数据A,B,C,
2.进行处理,
3.返回结果到UI。
由于业务上的计算较为复杂,处理中涉及的数据较多,所以比较耗时。
而项目中又设定数据库超时和服务器超时,也就是在执行第一步的时候,由于A的数据量很大,数据库超时了。即便数据库没有超时,在A,B,C三项的累积时间就使服务器超时了。
所以项目中出现了一种畸形:(注:实际上,如果数据很多,可能还会分批获取。)
1.业务层取数据A
2.返回A到UI。
3.业务层取数据B
4.返回B到UI。
5.业务层取数据C
6.返回C到UI。
7.在UI进行处理数据A, B, C
这样子,业务逻辑处理就全部搁在UI上了:( 这个服务端变成了一个持久层。
大家说,这该怎么办好呢?
希望给点建议和意见,谢谢:)