javabean&三层架构

  • 各层功能
    • 三层架构的优缺点
  • 什么是高内聚低耦合?
    • 内聚是什么意思?
    • 低内聚
    • 高内聚:系统的架构的完整尽可能少的依赖外部资源。
    • 低耦合:系统内部各个模块间的依赖关系尽可能的低。
    • 高内聚低耦合:每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单。

各层功能

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

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

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

三层架构的优缺点

三层架构的优点:

1、开发人员可以只关注整个结构中的某一层2、可以很轻易的用新的实现来替代原有层的实现 3、可以降低层与层的依赖  4、有利于标准化     5、利于各层逻辑的复用

三层架构的缺点:

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

什么是高内聚低耦合?

内聚是什么意思?

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

低内聚

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

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

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

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

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

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

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

三层架构什么是高内聚低耦合?相关推荐

  1. 浅谈面向对象开发原则:高内聚,低耦合

    软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低 ...

  2. 高内聚低耦合通俗理解_带你从入门到精通——「高内聚低耦合」

    如果这是第二次看到我的文章,欢迎订阅z哥的公号(跨界架构师)哦~ 本文长度为2871字,建议阅读8分钟. 坚持原创,每一篇都是用心之作- 下面的这个场景你可能会觉得很熟悉(Z哥我又要出演了): Z哥: ...

  3. 知识篇: 面向对象开发原则.高内聚.低耦合+Python安装详细教程+print输出带颜色的方法...

    面系那个对象开发原则.高内聚.低耦合 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计, ...

  4. 分布式系统关注点:高内聚低耦合

    来源:跨界架构师 下面的这个场景你可能会觉得很熟悉(Z哥我又要出演了): Z哥:@All 兄弟姐妹们,这次我这边有个需求需要给「商品上架」增加一道审核,会影响到大家和我交互的接口.大家抽空配合改一下, ...

  5. 高内聚低耦合设计原则

    高内聚低耦合 高内聚低耦合是模块设计的基本原则.模块设计就像四世同堂居家过日子,妯娌婆媳吃大锅饭.柴米油盐不分你我很容易伤和气:如果亲兄弟明算账,每顿饭都AA又太显得生分,不利于和谐,因此把握好一个度 ...

  6. 怎样理解高内聚低耦合?

    在网上查了很多相关的资料不能更好地去帮我们理解高内聚与低耦合.以我自己的理解总结以下几点: 什么是高内聚: 在我们开发项目中的时候,需要有很多的模块,但模块与模块间肯定会存在相互调用.高内聚指的就是模 ...

  7. 线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)

    生产者与消费者模式 一个生产者与一个消费者 题目:现在有两个线程,可以操作初始值为0的一个变量,实现一个线程对该变量加1,另一个线程对该变量减1,这两个线程的操作加一.减一交替,进行10轮,变量的初始 ...

  8. 编码至高法则-高内聚低耦合

    此法则适合所有语言,咱们以JavaScript和Java两个角度分析一下这个东东. 一.javascript 有这样的一个页面,js.css代码都写在html页面中. 例如:gnj.html v1版本 ...

  9. 软件设计之——“高内聚低耦合”

    耦合度 一.什么是耦合度 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 耦合度(Coupling)是对模块间关联程度的度量.耦合的强弱取决与模块间接口 ...

最新文章

  1. pythonturtle画房子_用python的turtle模块实现给女票画个小心心
  2. 推荐13个.Net开源的网络爬虫
  3. python学习-抓取知乎图片
  4. 美国次级贷款来龙去脉
  5. 涨跌因子计算器下载哪里下载_微信爱情指数计算器整蛊app下载_爱情指数计算器整蛊测试下载...
  6. 计算机excelsumif的公式,EXCELsumif函数的用法展示
  7. TFTP服务器在Cisco设备上的应用(上传、下载IOS)
  8. windows用户模式与内核模式
  9. 软件安装过程中,系统提示需要安装.Net Framework 3.5解决
  10. php 写聊天室源码,PHP实现简单聊天室(附源码)_PHP
  11. HikariPool-1 - Connection is not available, request timed out after 6000ms
  12. 边缘检测-HED-RCF
  13. 一篇3分文章的水稻转录组分析实战
  14. 年终盘点,蔚来终于失去互联网造车老大地位,被小鹏取而代之
  15. 甘特图——项目管理的理想控制工具
  16. Python 头哥实验题目(一、二、三)
  17. 城市云脑,像大脑一样建设智慧城市,基于互联网云脑的新架构
  18. 宇宙无敌第一帅的Java笔记
  19. python虚拟串口_Linux下的虚拟串口对(可用于在本机上模拟串口进行调试)
  20. CNC跟NC区别详解

热门文章

  1. 计算机第3次作业中国名城宣传,中国名城宣传(江苏开放大学计算机应用基础作业)(6页)-原创力文档...
  2. Xilinx MIG IP核使用
  3. photoshop CC2017好玩的脸部智能识别液化
  4. html按钮怎么修改大小设置吗,如何在HTML中编辑按钮大小?
  5. 语音信号同态与复倒谱分析
  6. linux gpu 虚拟化_Windows 10通过GPU支持获得图形化Linux应用
  7. 让你的电脑也识得二维码图片(一)
  8. Qt中调用OpenCV函数库时Crashed问题的解决。
  9. 金山pdf独立版右键菜单
  10. 记vue-pdf踩坑过程