软件分层架构理解【小白专用】

软件分层架构简述
编辑整理于:2017年5月22日16:49:21 KTNAIT丶
自己也是小白一个,参考了一些文档,这也就当作是自己的简单理解笔记了。
缘起
在解决一个比较复杂的问题的时候,我们通常使用的一个技巧就是分解,也就是把一个复杂的问题分解成为若干个简单的问题来进行处理,这样要比解决一个复杂的问题简单。

那么同理,在设计一个复杂的软件系统的时候,我们也通常使用的一个技术就是分层,每个层只负责完成自身的功能,最后,所有的层整合起来构成一个复杂的软件系统。

在应用软件开发中, N层应用软件模型 是一种典型的 软件系统架构 ,也就是所谓的 分层架构 N层的应用软件系统,由于其众多的优点,已经成为典型的软件系统架构, 也已经成为构建企业软件的标准。 其中最典型的也就是 三层架构

分层也是计算机技术中的常用方法,一个典型的例子就是TCP/IP技术的OSI七层模型。

软件分层架构优点
分层的程序设计带来的好处是显而易见的
1.高内聚低耦合,便于团队开发
内聚:一个模块内各个元素彼此结合的紧密程度;
耦合:一个软件结构内不同模块之间关联程度的度量。
在团队开发中,分层可以让软件开发人员专注于自己负责的层,而不必关心其他层的设计,也不必担心自己的设计会影响其它层。如果不分层,根本不可能进行团队开发,只会一团糟。
2.使软件升级和维护更为容易
分层设计使得程序结构清晰,升级和维护都变得十分容易,更改层的具体实现代码,只要层接口保持稳定,其他层可以不必修改。即使层的接口发生变化,也只影响上层和下层,修改工作量小而且错误可以控制,不会带来意外的风险。

软件分层架构缺点
“金无足赤,人无完人”,分层式结构也不可避免具有一些缺陷:
1.降低系统性能
如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2.有时会导致级联的修改
有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
3.代码量变多
分层后代码量自然要比不分层多。

软件分层架构的实现
只要修改任意一层,不会影响到其它层,升级和维护容易,那就达到了分层的目的。

你可能感兴趣的:(软件开发,架构,分层,三层架构,软件)