博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Module高内聚低耦合的思考
阅读量:4704 次
发布时间:2019-06-10

本文共 638 字,大约阅读时间需要 2 分钟。

每一个领域专家都会告诉我们,Module间应该是低耦合,Module内应该是高内聚。
 
我的思考突然就来了。
首先,我想,我能理解低耦合的概念,因为从结构化程序设计到OO的,一路走来,都要求每一个程序是可以替换的,或者说,把程序写成零件一样的。
那,高内聚的问题呢?
首先想到的场景就是,一个类里面有属性和方法,那么,我想到的一点是,高内聚,是不是就意味着,该类里面的方法对该类的属性有强烈的依赖,这样就出现了。每一个函数尽量可以不要传参数,而利用自己本身的属性。那么,问题就是,当改函数需要重构的时候,就会变得极其的麻烦。麻烦的原因就是出于对该类本身的属性过于依赖,这就和结构化程序的函数设计思想有相违背的意思。
我想到的一个规避这样问题的一个简单方法就是,就是函数设计是需要参数,但是默认的都是指向改类本身的属性。但是这依然是有问题的。
 
这样突然想起了一个结构化程序设计的规则,先定义大段的数据结构,然后利用进行过某种分类好的库函数进行操作那些数据。
那么,OO的思想是不是就是把他们建立起一定的联系。而领域设计又返回了先前的结构化思想呢?是一种思想上的退化?
 
由此想到的设计模式中的组合模式和策略模式,它们其实一种结构化的思想。那么,我想我得出的结论就是,OO是束缚程序设计的一种思想,在面对实际问题的时候,更合理的思考才是正确的。

转载于:https://www.cnblogs.com/snakevash/archive/2012/05/18/2508280.html

你可能感兴趣的文章
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
Arrays类学习笔记
查看>>
实验吧之【天下武功唯快不破】
查看>>
2019-3-25多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)...
查看>>
win7-64 mysql的安装
查看>>
dcm4chee 修改默认(0002,0013) ImplementationVersionName
查看>>
maven3在eclipse3.4.2中创建java web项目
查看>>
发布时间 sql语句
查看>>
黑马程序员 ExecuteReader执行查询
查看>>
记一些从数学和程序设计中体会到的思想
查看>>
题目1462:两船载物问题
查看>>
POJ 2378 Tree Cutting(树形DP,水)
查看>>
UVA 116 Unidirectional TSP (白书dp)
查看>>
第三方测速工具
查看>>
数据访问 投票习题
查看>>
cnblog!i'm coming!
查看>>
使用点符号代替溢出的文本
查看>>