业余架构师 2011-06-30
1、企业应用的特点是什么?在我的概念里,企业应用是与互联网应用相对而言的,企业应用一般都是内网环境,网络的带宽不用考虑,因此由于带宽引起的性能一般可以不用考虑。数据量不大,但是数据很杂,数据与数据之间的关系很复杂。另外业务逻辑也没有互联网应用那么简单,一般也是很杂,很变态。
2、企业应用在架构上需要考虑的就是适应变态的业务逻辑以及频繁业务逻辑的更改,也就是变化。另外还要保证的是数据的安全性,这个安全性主要是从并发方面考虑的。因为在企业应用中往往有很多人在操作数据。
3、分层的思想是很多方面都体现出来的,从分而治之到网络体系模型,都是分层的思想来考虑的。我们看看分层有什么优点:
A、简化问题。跟分而治之一样,我们不必纠结在一个个理不清的问题,可以分分类,分分层。这样就可以逐步细化。
B、屏蔽变化。分层中一个很重要的问题就是定义好层与层之间的接口,这个接口很重要,要考虑到将来可能的变化。接口要尽可能的少修改,这样一旦业务逻辑发生了变化之后,上层或下层中就可以不用修改,只要变化所在层的对外特征不发生变化就可以。
4、在企业应用可以分为几层?首先来看需要一个人机交互界面,因此需要一个展示层,其次需要一个与数据库打交道的层,因此需要一个数据库操作层。剩下的就是业务逻辑操作了,这个可以化为一层,一般称为业务逻辑层。然后再看看是不是还可以添加一些层呢?如果存在于第三方进行交互的地方,可能还需要一个通讯层。但是要注意的是,这里的层是个纵向的划分,每个用例的实现都会涉及到这些层次。通信层有可能不是每个用例都会涉及到的。
5、有的地方还将业务逻辑层再进行划分,大致分为两层,一层用来应付变化多样的表现层,一层是真正的业务逻辑。那么为什么没有在数据库层一侧再加一层呢?我觉得是因为数据库相对表现层来说更规范一些,容易控制。
6、层与层之间的传值。层与层之间怎么传值呢?如果划分为三层,那么就会两个地方需要传值,表现层与逻辑层之间,逻辑层与数据库层之间,这两个地方的传值可以使用基本类型,也可以使用组装在一起的对象。但是不建议两者使用相同的对象,因为容易造成跨层依赖。