zoukankan      html  css  js  c++  java
  • .Module高内聚低耦合的思考

    每一个领域专家都会告诉我们,Module间应该是低耦合,Module内应该是高内聚。
     
    我的思考突然就来了。
    首先,我想,我能理解低耦合的概念,因为从结构化程序设计到OO的,一路走来,都要求每一个程序是可以替换的,或者说,把程序写成零件一样的。
    那,高内聚的问题呢?
    首先想到的场景就是,一个类里面有属性和方法,那么,我想到的一点是,高内聚,是不是就意味着,该类里面的方法对该类的属性有强烈的依赖,这样就出现了。每一个函数尽量可以不要传参数,而利用自己本身的属性。那么,问题就是,当改函数需要重构的时候,就会变得极其的麻烦。麻烦的原因就是出于对该类本身的属性过于依赖,这就和结构化程序的函数设计思想有相违背的意思。
    我想到的一个规避这样问题的一个简单方法就是,就是函数设计是需要参数,但是默认的都是指向改类本身的属性。但是这依然是有问题的。
     
    这样突然想起了一个结构化程序设计的规则,先定义大段的数据结构,然后利用进行过某种分类好的库函数进行操作那些数据。
    那么,OO的思想是不是就是把他们建立起一定的联系。而领域设计又返回了先前的结构化思想呢?是一种思想上的退化?
     
    由此想到的设计模式中的组合模式和策略模式,它们其实一种结构化的思想。那么,我想我得出的结论就是,OO是束缚程序设计的一种思想,在面对实际问题的时候,更合理的思考才是正确的。
  • 相关阅读:
    【无中生有】---4----数据库设计-3
    【无中生有】---2---数据库设计-1
    redis3.0的demo实验
    redis3.0的demo实验
    那些在学习iOS开发前就应该知道的事(part 1)
    模板文件中的插件嵌入点列表
    图像处理框架 Core Image 介绍
    sharepoint services
    DiscuzX2.5数据库字典 值得学习
    Sublime Text 使用技巧
  • 原文地址:https://www.cnblogs.com/snakevash/p/2508280.html
Copyright © 2011-2022 走看看