三层架构&什么是高内聚低耦合?

各层功能

1、表现层:通俗讲就是展现给用户的界面,他担当者接受用户信息和给用户显示用户信息的功能,即用户在使用一个系统的时候他的所见所得。

2、业务逻辑层:针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理、最明显的就是三大语句、判断、循环、多分支、这个是在逻辑层的。

3、数据访问层:该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
请添加图片描述

三层架构的优缺点

三层架构的优点:

1、开发人员可以只关注整个结构中的某一层

2、可以很轻易的用新的实现来替代原有层的实现 

3、可以降低层与层的依赖  

4、有利于标准化     

5、利于各层逻辑的复用

三层架构的缺点:

1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,
   如今却必须通过中间层来完成。
   
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,
   可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

3、增加了代码量,增加了工作量

什么是高内聚低耦合?

内聚是什么意思?

模块内部的代码, 相互之间的联系越强,内聚就越高, 模块的独立性就越好。 一个模块应该尽量的独立,去完成独立的功能!如果有代码非得引入到独立的模块,建议拆分成多模块!低内聚的代码,不好维护,代码也不够健壮。
我的理解就是:假如你家在建房子,你一个人负责大部分的事情,搬砖、砌墙、搬水泥等等,那么你的效率和质量都是没保障的,你可以想想看,将你的事情分配给不同的人,让每个人都做一种事情,各有各的单一职责,那么效率就会大大提高,也不用担心质量

低内聚

  • 而低内聚的模块则表名模块直接的依赖程度高,那么一旦修改了该模块依赖的对象则无法使用该模块,必须也进行相应的修改,所以说模块与模块之间有写操作是关联的, 如果改动一个木块其他的木块都有可能受到影响,模块与模块之间的关系越是紧密,独立性就越不好!

高内聚:系统的架构的完整尽可能少的依赖外部资源。

  • 是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则,就像上面黄色标注说的差不多。模块的内聚反映模块内部联系的紧密程度。一个模块只需做好一件事件,不要过分关心其他任务。*高内聚性的好处是可以提高程序的可靠性

低耦合:系统内部各个模块间的依赖关系尽可能的低。

  • 低耦合是用来度量模块与模块直接的依赖关系。耦合当然也可以这样简单的理解,我想懂电脑的应该都知道,CPU与主板之间的关系,CPU如果是特殊的CPU必须使用特殊的主板来支持,那么如果说这个CPU不唯一依赖唯一主板,那么就认为这个CPU与主板的关系是低耦合的关系。

高内聚低耦合:每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单。

  • 一个好的系统应该是分成各个小块,分而治之的思想,把复杂问题分成小问题,逐个击破。每个小块应该是高内聚,小块之间应该是低耦合的。高内聚说的是这个小块的功能已经不可分割了,已经足够简单。耦合说的是这个小块依赖其他小块提供的功能,低就是少,弱,高耦合就是多,而且强。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值