您的位置:首页 > 其它

机房合作---外观层的再次理解

2015-06-14 22:01 218 查看
在做机房合作时,外观层的作用一直搞不清,图和文档也是改了好几次,然后就进入了延期。

到底把逻辑运算和逻辑的封装放在哪里?最先是放在了外观层,然后上网找了找资料,就决定放在了业务逻辑层。

下面在网上找到的内容可以说明这样做的理由:

  业务外观层(Business Facade)的目的,是隔离系统功能的提供者和使用者,更明确地说,是隔离业务逻辑的软件的用户界面(可以参见Facade设计模式)。这一层没有任何需要处理的逻辑,只是作为后台逻辑处理和前端用户界面的缓冲区,以达到如下目的:

  ◆将用户界面和系统业务逻辑处理分开,这样,当业务逻辑发生变化时,不用修改客户端程序,是一种支持变化的设计方法。

  ◆使同一个业务逻辑能够处理不同的客户端请求。例如,可以将Facade设计成Web Service,这样,可以同时为传统的WinForm客户端程序、Web程序以及其他外部系统提供服务,而使用相同的应用服务层,同时,也可以实现系统的分布式部署。

  ◆作为系统不同模块之间的调用接口。一个系统通常会包含很多模块,这些模块相对独立,又可能互相调用。为了减少各个不同部分之间的耦合度,必须采用一定的设计方法,Facade设计模式就是非常有效的一种,也是业务外观层的基础。

  ◆有利于项目团队的分工协作。业务外观层作为一个访问接口,将界面设计人员和逻辑设计人员分开,使得系统的开发可以实现纵向的分工,不同的开发人员可以关注自己的领域而不会受到干扰。

  业务外观层的代码框架,在系统分析和设计完成后就可以完成,他需要提供的方法,就相当于在界面设计人员和逻辑设计人员之间签订了一个协议,他虽然没有实现任何逻辑,但是,他的引入,能使系统的开发更加有条理,更加简明。套用《设计模式》上的一句话,就是,"任何问题,都可以通过引入一个中间层来得到简化"。

从以上的解释可以看出:

最终决定,将业务逻辑,和业务封装放在了BLL层;外观层就是提供一个接口,使U层和B层完全解耦,不存在任何业务逻辑

总结:

这样做可以:1.将用户和业务逻辑分开,这样,当业务逻辑发生变化时,不用修改客户端程序

            2.利于团队间的分工合作

            3.如果要更换客户端,如WinForm客户端程序、Web程序以及其他外部系统可以借助外观层提供服务。






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式