论中间层与表现层如何实现分离

tianlon 2002-04-11 05:13:05
如何真正实现中间层与表现层的完全分离,
因为以我的感觉业务流程(中间层)一变,必然会导致界面(表现层)的变化,以至于中间层已修改,表现层就需作相应的修改

有办法吗?
...全文
19 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaodaoren 2002-08-31
只有设计的模式中尽量的降低藕荷,但是通常会影响到效率
回复
netsong 2002-08-23
但是如果将表现层抽象成各种小的元素的组合,而增加组合这些小元素的控制逻辑层,似乎可以实现一些。考虑得不成熟。
回复
gameboy999 2002-08-23
同意快鼠的说法,只是如果因为增加业务而导致增加接口,那各层之间还是要变化的,当然,如果采用类似COM的QueryInterface之类的复杂接口形式,那就可以在改变其中一层的情况下,暂时可以不影响另外一层的服务
回复
ziwuxian 2002-08-23
如果表示层的输入和输出都不变的话,修改业务层是十分方便的。比如:银行ATM提款机的操作,机器读磁卡和用户输入密码(输入),然后显示交易结果(输出),业务层接收到输入后的处理过程怎么改也只是在业务层,而输出结果是一样的,不影响表示层,表示层无需知道业务层的处理过程。
回复
许野平 2002-05-31
多层次设计的关键在于确立层次之间的接口 。如果表示层和业务层建立在简单的直接调用的基础上,必然导致表示层完全依赖业务层。如果为这两个层次制定统一的接口标准,只要接口不变,任何一层的变化不会透过接口影响其他层次。
但是,这样对接口的设计需要较强的系统分析能力。
回复
seinfo 2002-04-13
我所理解的中间层和界面层分离成两层的原因是:如果有新的业务需求,在已有的中间层组件中通过组合能实现,就只要开发一个新的界面,中间层就不用动了;如果业务处理规则变化了,如超过多少钱打多少折,但界面的显示没有什么变化,那么修改中间层就行了。当然也有都需要修改的,但是在设计系统的时候要尽量保证中间层的组件和对象比较容易组合,来完成新的功能,而不是每增加一个业务,就需要三层都做开发,那样的系统设计得不好。
回复
青润 2002-04-12
同意mach的说法。
但,有一种是例外的:除非你后台的业务流程变化只是属于过程性的变化,而不会改变对表现层的输出的时候,就可以不修改表现层了。
但是,比较好的处理表现层和中间层的关系,可以减少在中间层变化的时候对表现层的修改,但很难完全避免。
回复
mach 2002-04-12
分层的目的就是能够隔离变化的影响,一个好的分层方案可以将这种影响最小化,但是不能消灭。
回复
laimj 2002-04-12
同意上面2位的观点:没有所谓的中间层与表现层的完全分离

但肯定有尽量简化耦合的方法,一般建立业务描述层,来抽象业务层的规则,一旦业务规则发生变化,通过配置等简单的手段来适应这种改变。当然业务层规则不是那么好抽象的,而且肯定不能涵盖所有的变化,开发复杂度也相应增加。
回复
mach 2002-04-11
没有所谓的中间层与表现层的完全分离。无论你做什么都是围绕着业务需求的,三层结构也好,n层结构也好都是这样。如果业务需求变化了,相应的各层都要跟着变。
分层的好处在于可以降低耦合,但是象这种情况是不能避免的。
回复
发动态
发帖子
研发管理
创建于2007-08-27

1176

社区成员

软件工程/管理 管理版
申请成为版主
社区公告
暂无公告