HD大家遇没遇到过这种情况, 有一个类,里面有ABCD四个属性,同时有方法1设置AC的值,方法2设置D的值,方法3计算B的值,通过ACD三个属性。这种代码感觉维护性不高,有什么好的处理方式吗,感觉这堆属性跟一堆全局变量没啥区别 STST 这是内聚性低的特点 HD 但是我的属性都内聚到一个类了啊 ST...
分类:
其他好文 时间:
2015-10-24 00:07:20
阅读次数:
150
有很多类型的内聚性。 最常用到的两个是通信性内聚( communicational cohesion) 和 功能性内聚( functional cohesion)。在模块中的部件操作相同的数据时,可以得到通信性内聚。 把 它们分到一组很有意义,因为它们之间存在很强的关联性。 在模块中的部件协同工作以...
分类:
其他好文 时间:
2015-10-23 20:10:21
阅读次数:
258
1、内聚性 类应该描述一个单一的实体,所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标。例如:学生和教职工属于不同的实体,应该定义两个类。2、一致性 要遵循一定的设计风格和命名习惯。给类、方法、数据域选择有信息量的名字。流行的风格是将数据声明置于构造方法之前,并将构造方法置于方法之前。 ...
分类:
编程语言 时间:
2015-10-21 12:06:12
阅读次数:
240
简称SOLID1. 单一职责原则 职责定义为引起变化的原因。一个类,最好只做一件事,只有一个引起它的变化。不要为类实现过多的功能点,以保证实体只有一个引起它变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度。2. 开放封闭原则 对.....
分类:
其他好文 时间:
2015-10-16 18:48:03
阅读次数:
121
需要重构的代码:
1 重复
2 冗长的子程序
3 内聚性差的类
4 循环过长或嵌套过深
5 过长的参数列表(7个参数左右)
swict case优化:
1 多态
2 表驱动
函数命名:
1 函数命令要描述其返回值
2 过程命名要使用动宾短语
函数参数:
1 传入参数不能修改
2 参数排序:输出-修改-输出
布尔变量命名:
使用肯定的变...
分类:
其他好文 时间:
2015-08-21 13:35:38
阅读次数:
119
对象与对象的关系
1、对象与对象的关系
依赖
关联
组合
常常讨论对象与对象关系时会提供两个属于:内聚性,耦合性
内聚一般指功能上的指向性
耦合一般指关联上的依赖性
2、依赖:
对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。 依赖一般情况下是以下几种情况之一:
a、ClassA中某个方法的参数...
分类:
其他好文 时间:
2015-08-04 00:43:54
阅读次数:
110
新视角看面向对象 与 UML图什么是内聚性
closely the operations in a routine are
related.
就是一个类中,各个方法之间的联系的紧密程度。内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。低内聚就是...
分类:
其他好文 时间:
2015-07-30 23:28:51
阅读次数:
246
起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 内聚:一个模块内各个元素彼此结合的紧密程度 耦合:一个软件结构内不同模块之间互连程度的度量 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模.....
分类:
其他好文 时间:
2015-07-07 22:28:46
阅读次数:
100
SpringMVC1.MVCMVC思想是将系统的各个组件进行分类,不同的组件扮演不的角色。然后将系统中的各个组件分离到不同的层中,这些组件被严格限制在其所在层内。同层中组件应该保持内聚性,且大致处于同一抽象级别,而各层之间则以松耦合的方式组合在一起,从而保证了良好的封装性。..
分类:
编程语言 时间:
2015-05-31 18:42:02
阅读次数:
259
很多人可能会觉得项目初期的时候,可以先不考虑重构以及优化, 正如我当前这个项目就是这样做的,但是,最终的结果是什么?出现了一种比较悲剧的场面, 面对着复杂的类、函数、基类与派生类之间的耦合度过高,派生类的重复性,内聚性高低,都慢慢的暴露了出来,当项目完成之后,在想着重构的时候,会发现连自己写的东西都...
分类:
其他好文 时间:
2015-05-28 19:45:51
阅读次数:
181