单一责任原则

单一职责原则 —— 一个类只负责一个功能领域中的相应职责。

以人的“说话”和“跑”为例:Talk 和 Run

通常的代码——这样如果以后人的“跑”代码的执行逻辑有所改变,要修改 People 中的 Run() 方法

public class People
{
    // 说话
    public void Talk(string message)
    {
        Console.WriteLine(message);
    }
    // 奔跑
    public void Run(string message)
    {
        Console.WriteLine(message);
    }
}

单一原则代码

使用接口或者抽象类

 

ITalk接口

namespace ActionName
{
    public interface ITalk
    {
        void Talk(string message);
    }
}

 

IRun接口

namespace ActionName
{
    public interface IRun
    {
        void Run(string message);
    }
    
}

 

实现接口:ITalk 和 IRun

namespace ActionName
{
    public class TalkAction : ITalk
    {
        public void Talk(string message)
        {
            Console.WriteLine(message);
        }
    }
}

 

namespace ActionName
{
    public class RunAction : IRun
    {
        public void Run(string message)
        {
            Console.WriteLine(message);
        }
    }
}

 

写到具体的类里面

using ActionName;
public class People1
{
    // 如果怕代码运行故障,可设置默认执行方法的类
    public People1()
    {
        // _talk = new TalkAction();
        // _run = new RunAction();
        // 方便理解,具体的赋值较为复杂,实践太少,以后补充
    }
    // 解耦合
    // 例如:private IRun _run = new RunAction();
    // 例如:private ITalk _tlak = new TalkAction();
    // 这只是简单的说明
    // 如果有新的修改需求,只需要去负责做这件事的类中修该对应的代码
    // 这样以后如果有新的 Talk 和 Run 方法要实现,
    // 只需要继承接口再写一个新的类来负责执行新的方法
    private IRun _run;
    private ITalk _talk;
    public void Run(string message)
    {
        _run.Run(message);
    }
    public void Talk(string message)
    {
        _talk.Talk(message);
    }
}

 

如果不是很理解——可以这样理解程序

和电脑一样,主板负责提供接口,然后将兼容的显卡(GPU)、中央处理器(CPU)、声卡、网卡、硬盘、显示器等装上去(假设没有安装上的失误和硬件的损坏),安装好操作系统通上电就可以运行

主板提供了接口将这些硬件集成到一起,硬件各自有自己负责的内容,如果需要“交流(数据交互)”则是通过总线和端口(开始偏题)

主要是想说——

如果显卡坏了,停机就拆下来,修好了再插上去咯;

如果显卡本身的性能太差了,那就换一块更好的显卡咯;

如果显卡的性能没有得到发挥,那就去设置优化一下咯;

所以说只要显卡与其他硬件“交流”的规则不变,显卡有问题找显卡就行了

 

posted @ 2022-08-21 22:06  toolwom  阅读(48)  评论(0)    收藏  举报