在现有的数据库应用系统架构中,一般分为三层或多层。通常分为UI层,逻辑层,数据库访问层等。不过对于不同的系统中,分层也是不同的。
那么什么情况下需要分层,怎样分层才够合理呢?首先如果一个系统功能是单一的,内聚的,而且有一定概论的变动要求,那么这个功能就可以作为一个层,比如(1)数据库访问层(功能比较单一,而且有可能会访问不同数据库),(2)数据加密解密层(功能比较单一,可能会使用不同的加密、解密算法).
层的另一个用途就是解耦,通过添加一个中间层,可以解耦它的上层和下层。本质上数据库访问层就是为了解除逻辑层和数据库之间的耦合。
分层使系统结构更加清晰,但也会加大工作量,所以分层也要适度,笔者以前就遇到过有的分层过于薄,而且变化的需求也不大,结果,仅仅为了分层而分层,有些层仅仅是下一层的简单包装,这样的分层就没有必要了。
所以说,分层一定要视你所要设计的系统的要求来定。一些小型的简单的系统根本没有必要分过多的层。而对于大型的,复杂的系统,分层是相当有必要的,即使你现在看不出有什么需求,但分了层,以后一定会享受到它的好处的。