您的位置:首页 > 其它

关于高内聚低耦合的认知与实际应用

2013-12-26 16:02 211 查看
本文假定在问题比较简单的情况下进行。

我有如下几个程序模块:

数据清理总调度,它调度以下几个子任务来完成目标
数据清理任务1
数据清理任务2
数据清理任务3

现在要记录数据清理日志,需要往CLEAN_LOG表中insert清理数据记录,那么现在我有两种做法:

【方法1】

在子任务中,各自执行insert日志记录的操作。

【方法2】

在总任务中,每调用一个子任务执行一次insert日志记录的操作。

我就这个问题问了我们团队的成员,大家都表示二者没有什么区别,都一样。

大家都知道,单就这个具体事情而言,其实两种做法的工作量是一样的。

但从软件学的角度而言,一般地,我们应当选择【方法2】。为什么呢?

这就是我们常说的一些软件学思想了:

高内聚与低耦合、单一职责原则、可复用可重用、、、

如果将日志记录的操作分散放在各个子模块中进行,

那就违背了各个子模块执行单一职责(清理特定数据)的原则,而且记录日志需要和模块外的日志表等环境产生依赖(耦合),从而破坏了其内聚性,可想而知 最终其重用性就会大打折扣。而一旦软件失去了重用性,那软件本原的优势也就不复存在了。

反之,如将日志记录操作集中放在总调度模块中进行,

则可以很好的规避上面的种种问题。

当然,你也不用担心各模块日志信息的反馈问题,

这可以通过增加子任务的调用返回值来实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: