编码至高法则-高内聚低耦合
此法则适合所有语言,咱们以JavaScript和Java两个角度分析一下这个东东。 一、javascript 有这样的一个页面,js、css代码都写在html页面中。 例如:gnj.html v1版本 [HTML] 纯文本查看 复制代码 ?
这个页面承载了多个功能:定义html需要的javascript脚本,定义html需要的css样式,还有定义页面需要显示的元素。 这样的代码编写方式就像下面两个拼拼凑凑的动物: 龙: 问题:代码内部比较臃肿,复用度很低。js不能被多个html复用,css也不能被多个html复用。耦合性较高。 优化后的代码,如下: gnj.js [JavaScript] 纯文本查看 复制代码 ?
h1.css [JavaScript] 纯文本查看 复制代码 ?
gnj_v2.html [HTML] 纯文本查看 复制代码 ?
高内聚:模块内的事。模块内,联系越紧密,内聚性越高。 二、java v0版本 [Java] 纯文本查看 复制代码 ?
代码运行如下: 仔细阅读以上代码,发现有很多重复的地方,比如分割线和添加字符串操作。基于这两个重复的地方,咱们可以优化一下。单独提供两个方法,一个获取分割线,另外一个处理字符串拼接。 [Java] 纯文本查看 复制代码 ?
代码运行如下: 刚刚单独处理了一下分割线,那一般分割线因人而异,爱好不同,分割线样式也不同。像这种分割线有很多种样式,怎么办呢?有的同学会想到,编写接口,提供多个实现类。对,大致思路是这样,还有一个细节同学们没想到,就是最终需要做一个决策,到底使用哪种分割线样式。这个决策,我们让controller自己来确定。 [Java] 纯文本查看 复制代码 ?
代码运行如下: 前3个版本我们只是处理了一下整个吃饭过程中的小细节。 [Java] 纯文本查看 复制代码 ?
代码运行如下: 从这4个版本中可以感受到,出现拼拼凑凑的感觉时,那么你的代码就是内聚性比较低的表现了。如果代码总要变来变去,其实是耦合高的表现。 |
分享至 :QQ空间
收藏
回复 只看该作者
编码至高法则-高内聚低耦合相关推荐
- java 高内聚低耦合_高内聚低耦合法则实例解析
定义:一个对象应该对其他对象保持最少的了解. 问题由来:类与类之间的关系越来越密切,耦合度越来越大,当一个类发生改变时,对另外一个类的影响也越大. 解决方案:尽量降低类与类之间的耦合. 自从我们接触到 ...
- Java编程思想之高内聚低耦合
文章目录 1 前言 2 低耦合 2.1 耦合性定义 2.2 耦合性分类 2.3 使用低耦合 3 高内聚 3.1 高内聚定义 3.2 内聚性分类 4 示例 5 高内聚,低耦合的系统有什么好处呢 6 降低 ...
- 浅谈面向对象开发原则:高内聚,低耦合
软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低 ...
- 软件设计之——“高内聚低耦合”
耦合度 一.什么是耦合度 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 耦合度(Coupling)是对模块间关联程度的度量.耦合的强弱取决与模块间接口 ...
- 高内聚低耦合是什么含义,怎么实现?
一.含义 高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低. 目的:使程序模块的可重用性.移植性大大增强. 通常程序结构中 ...
- 知识篇: 面向对象开发原则.高内聚.低耦合+Python安装详细教程+print输出带颜色的方法...
面系那个对象开发原则.高内聚.低耦合 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计, ...
- 如何理解高内聚低耦合?Java/Android 程序员必看的知识
推荐阅读: Android MVC设计模式详解 Android 框架MVVM详解 Android MVC设计模式详解 Java/Android 常见的设计模式总结,提高代码重用性和扩展下 概念 耦合性 ...
- 深入理解高内聚,低耦合
起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性. 耦合性也称块间联系.指软件系统结构中各模块间相互联系紧密程度的一种度量 ...
- java 高内聚低耦合_关于高内聚低耦合概念的理解
概念 高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低. 目的 使程序模块的可重用性.移植性大大增强. 通常程序结构中各模 ...
最新文章
- linux解压实例,linux 下面压缩,解压.rar文件以及rar,unrar实例
- gperf学习笔记(二)
- BP神经网络(检测故障的实例)
- IO多路复用概念介绍
- Django 3.2.5博客开发教程:体验数据查询
- Little Sub and AA
- 在VS中编译C++静态库以及使用的方法
- 个人IOCP服务器例子解说
- 在word中给公式添加序号
- TypeScript 里的枚举类型 enum
- 执行perl xttdriver.pl报错Can't locate Getopt/Long.pm in @INC
- zend framework入门教程实践
- python函数及方法大全_Python常用方法和技巧汇总
- 专家称米粒倒闭是个案 不必大惊小怪
- python计算直角三角形斜边上的中线_直角三角形斜边上的中线等于斜边的一半教学设计...
- 儿童定位手表、定位器、老人健康手表的工作原理
- C/C++数据结构——虚虚实实(并查集欧拉路)
- Leecode159:至多包含两个不同字符的最长子串
- 测试的步骤(功能测试)
- 蓝桥杯—第八届—A组—第二题—跳蚱蜢 {C语言}=====【可调试】