美文网首页
高内聚体现在哪里?

高内聚体现在哪里?

作者: 王小贱_ww | 来源:发表于2017-09-24 11:35 被阅读19次

    内聚性:将功能类似、相关的API组合在一起的程度。

    前两天公司培训CMMI认证,有一个地方和编程差不多,在公司中,如何评估这个员工的效率?这里就要引入一个量化标准的概念。量化的标准体现在编程里就是拆分的最小粒度。

    低内聚的表现在代码散落,高内聚应该有以下3个表现:可读性、可复用和可维护。

    public class AppManager {
    
    
        public void saveUserInfor(String name) {
               //进行存储操作
        }
    
    
        public void saveFile() {
    
        }
    
        public void showToast() {
            
        }
    
    }
    

    1.如果我们刚接手一个项目,看到以上的代码,在一个类中有很多方法,这些方法还没有注释
    2.我们不知道有什么方法,当我们需要一个方法时,我们就回去自己去写一个(没有找到),还会吐槽这公司怎么连这个方法也没有= =
    3.这就会造成代码越来越糟
    4.我们应该把AppManager 拆分成更多的类 ,例如 关于文件的操作,我们应该写一个FileUtilsl类。

    如果在saveUserInfor()方法中,我们有个一个新的参数,我们是不是要先找到调用它的LoginActivity类,然后在回调中修改方法。

    class LoginActivity {
        //登陆成功
    
    SignHandler.onSignIn(String,listener);
    }
    
          class   SignHandler {
    
        public  static void onSignIn(String response, ISignListener listener) {
            //进行操作和修改
        }
    }
    
    interface ISignListener {
        void onSignInSuccess();
    }
    

    这样我们在修改时,改动SignHandler就行了,也不用去找对应的Activity了。
    总结一下,耦合度和内聚有没有关系呢?答案是有的,当我们低耦合的时候(上面登陆这个例子),都拆分开之后,自然就高内聚了,可读、可复用和可维护。要想高内聚,低耦合是必须的。

    相关文章

      网友评论

          本文标题:高内聚体现在哪里?

          本文链接:https://www.haomeiwen.com/subject/xokkextx.html