一、单一职责原则

作者: Jimmy5Zhang | 来源:发表于2018-05-06 16:02 被阅读15次

    1、定义

    应该有且仅有一个原因引起类的变更
    SRP-class.png

    2、实现

    (1)定义通话连接服务

    
    public interface IConnectionManager {
    
        void dial(String phoneNumber); // 拨打电话
    
        void hangup(); // 挂断电话
    }
    
    

    (2)实现通话连接服务

    
    public class ConnectionManager implements IConnectionManager {
    
        @Override
        public void dial(String phoneNumber) {
            Log.d("JimmyZhang", "拨打电话");
        }
    
        @Override
        public void hangup() {
            Log.d("JimmyZhang", "挂断电话");
        }
    }
    
    

    (3)定义通话数据传输服务

    
    public interface IDataTransfer {
    
        public void chat(Object o);
    }
    
    

    (4)实现通话数据传输服务

    
    public class DataTransfer implements IDataTransfer {
    
        IConnectionManager cm;
    
        public DataTransfer(IConnectionManager cm) {
            this.cm = cm;
        }
    
        @Override
        public void chat(Object o) {
            Log.d("JimmyZhang", "通话");
        }
    }
    
    

    (5)实现通话功能

        DataTransfer dataTransfer;
    
        public void setDataTransfer(DataTransfer dataTransfer) {
            this.dataTransfer = dataTransfer;
        }
    
        public void dial(String phoneNumber) {
            dataTransfer.cm.dial(phoneNumber);
        }
    
        public void hangup() {
            dataTransfer.cm.hangup();
        }
    
        public void chat(Object o) {
            dataTransfer.chat(o);
        }
    
    

    3、优点

    (1)类的复杂性降低、实现什么职责都有清晰明确的定义;
    (2)可读性提高,复杂性降低;
    (3)可维护性提高;
    (4)提高系统可维护性。

    相关文章

      网友评论

        本文标题:一、单一职责原则

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