浏览:957 2008-03-20 11:52 来自 【组长】dudu      :
在博客园博客程序的架构中引入了业务外观层,为什么要引入这一层呢?
下面在网上找到的内容可以说明这样做的理由:
  业务外观层(Business Facade)的目的,是隔离系统功能的提供者和使用者,更明确地说,是隔离业务逻辑的软件的用户界面(可以参见Facade设计模式)。这一层没有任何需要处理的逻辑,只是作为后台逻辑处理和前端用户界面的缓冲区,以达到如下目的

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

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

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

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

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

收藏 楼主
  6个月前  阿不      :
但是引用这一层也不是必要的。理论上它所希望达到功能,在现实中它却很容易被误用。
1楼 回到顶楼 
  6个月前  Anders Cui      :
@阿不
同意,我觉得可以引入一个UI处理层
以此来隔离表现层和业务逻辑
2楼 回到顶楼 
  6个月前  阿不      :
我不知道博客园接下来是在原有程序上的修改,还是重新的功能开发?
如果是重新开发,是基于WebForm,还是MVC?
这些因素很大影响着架构的设计和选择
看了DUDU的架构了,感觉分层太多,有很多时候太多的分层会造成一些问题,
比如一段代码你感觉放在哪一层都没有问题,在取舍上你很难做出决定
又比如在架构设计上,业务逻辑层的功能是做什么?我想扩展的部分应该主要在业务逻辑层这层上面。
而做为UI处理层,我觉得倒没有必要专门建一个层,或者一类来对应的处理页面与业务逻辑层的关系,如果你使用MVC架构的业务,本身你的那个Controller应该算了一个UI处理层了,而这一层原则上就已经与View隔离了
而如果使用的是WebForm架构的话,那么控件化的可以简化使用,重用,修改。可能是架构考虑的一个重要因素,而至于前台页面,不要有直接与之关系的CODE文件,可以考虑在CODE在HTML上,一来起到动态语言的粘合剂的功能,二来方便日后的修改,而不用编译整个解决方案。
所以我意见是先选定一种前台架构
目前想到的一些个人意见
3楼 回到顶楼 
  6个月前  隨風.NET      :
前台MVC比较好
4楼 回到顶楼 
  6个月前  光影传说      :
我想,还是应该重点在多库分布方面多花点精力。
其他的我感觉还都是相对好处理一点的。精粒度的Service层是必须要的,可以增加N多好处,偶现在是尝到了甜头,特别CS界面的双向绑定、递归触发和异构数据的处理方面。对于不需要与其他系统进行集成的,建议不要用WebService,效率比较低,对于WCF的二进制序列化,当然不一样了,呵呵。
5楼 回到顶楼 
  6个月前  Edvard      :
MVC速度快,看看JAVA的就知道了,用.net做出来的页面总感觉一顿一顿的,不知道是什么原因,没有JAVA的那么顺畅
不过这样就没有什么control了,都是自己的handle来处理和表现。其实也适用于winform,代码生成页面/界面
6楼 回到顶楼 
  6个月前  Jonny Yu      :
这些是引入Business Facade的一般理由。
但是具体到博客园,园子要引入Business Facade的理由是什么呢?
7楼 回到顶楼 
  6个月前  somesongs      :
mvc还是要的,感觉Mvc就是一个准备八年抗战的架势,后面好走路。
分层太多,我就担心性能会不会受影响,有时候一个小小的细微处就会影响性能哦。
8楼 回到顶楼 
  3个月前  Kevan      :
9楼 回到顶楼 

注册用户登录后才能回复,登录注册
> 返回“博客程序开发”


其他话题

相关内容

相关链接

1 1