对面的大师看过来,关于三层结构的业务逻辑!!!(50分)

  • 主题发起人 主题发起人 老枪123
  • 开始时间 开始时间

老枪123

Unregistered / Unconfirmed
GUEST, unregistred user!
企业业务逻辑应该封装在中间层,客户端尽量要瘦,
那么到底何谓企业业务逻辑,
难道只是查询,提交数据的逻辑+有效性检验的逻辑吗?
那么从数据表中取数据,并依次建立treelist的逻辑该不该写到中间层呢?
 
应该
SQL语句执行放到中间层就行了
客户端只负责提交和显示
 
客户端只要界面
 
这个不容易说清楚!概念本来就比较模糊!
我的理解是:对当前表的操作(新增、修改、删除)会引起其它表的相关动作就放到服务器端!如:做出货单的时候“确认”1.检查库存是否够,2.检查客户信用额度3:往应收表中塞一笔应收数据!象这样引起相关操作或逻辑检查的!---两层结构一般用触发器来检查的!
而对于简单的逻辑---“非业务逻辑”,如:保存时计算“单价*数量=金额”,输入客户、仓库等检查“输入是否有效”。--立即反应,这些都应该放在客户端,否则处理很麻烦!
 
所谓的三层是个权衡的问题,看你要突出什么的重点,像提问者说的,客户端要瘦 南你只能吧业务规则往后放了!
 
这样会不会让中间层很麻烦啊,大家没有讲清楚啊!
 
我想建树的代码肯定放在客户端了
中间层只负责取出数据,,,,,,
是不是啊?
 
呵呵,偶以前回答的一个帖子,呵呵,估计对楼主有用:)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2048638
 
说一些我自己的观点,不一定对,但是绝对是实际中的经验:
关于三层架构我比较推荐的模式:
client --> com+(控制事务,封装企业对象) 中间层服务器 --> 数据存储服务器(无事务控制)
各层之间通过接口完成调用,一般来说数据存储层 写好了就不动,
com+(控制事务) 中间层服务器 用来写企业对象(业务逻辑)
client 只是负责界面显示,调用,这样的三层结构是最理想的。
但是 实际中,由于各种原因(比如业务经常变动、代码或者思考逻辑上的错误、
团队内部设计人员、编码人员的能力问题、编码习惯问题等等
等等原因会造成企业对象的频繁改动,这样常常容易造成com+ 这一层的企业对象
过于庞大,复杂,再加上com+ 这一层的服务器调试比较特别,没有表现层,
所以如果你认为你的团队把企业对想写在com+这一层不是很合适的,那么我推荐
下面的模式)
client(表现层和企业对象分离) --> com+(控制事务) 中间层服务器 --> 数据存储服务器(无事务控制)
这种模式虽然不是标准三层的推荐写法,但是我觉得这种模式还是由他的好处的,
把客户端分成表现层和业务逻辑层(企业对象),一则可以实现标准三层的写法
(基本上的mvc,并且抽象出了业务类--企业对象),再则调试简单,增加开发效率,
节约成本。扩展性:以后当你的企业对象基本上已经很完善,不需要作太多改动的
时候,这个企业对象可以很容易的搬到 com+ 服务器这一层。
最后回答楼主的问题:
企业对想说的复杂一些,可以是一个很复杂的类,比如可以是
一个很复杂的仓库业务,简单一点的可以是一个方法,或者数据校验等,
而客户端表现层需要做的东西就是根据你取得数据、业务逻辑 、流程等
需要在客户端表现的东西,比如楼主说的 在如何构建一个树,等等都属于
表现层的东西。
以上 都是个人意见,如有不妥,清高手赐教,继续听高手讲课...



 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部