iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#面向对象设计原则之接口隔离原则
  • 187
分享到

C#面向对象设计原则之接口隔离原则

2024-04-02 19:04:59 187人浏览 薄情痞子
摘要

接口隔离原则(ISP) 定义:使用多个专门的接口比使用单一的总接口要好。即不要把鸡蛋都放到一个篮子里。好处:比较灵活、方便,不想实现的或不用实现的可以不实现。解释说明:大部分人都喜欢

接口隔离原则(ISP)

定义:使用多个专门的接口比使用单一的总接口要好。即不要把鸡蛋都放到一个篮子里。
好处:比较灵活、方便,不想实现的或不用实现的可以不实现。
解释说明:
大部分人都喜欢用一个接口把需要用到的方法全部声明出来,但是ISP建议我们使用多个专门的接口比使用单一的总接口要好,也就是一个接口里的方法多的话,实现起来不是很方便。

示例1:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 接口隔离原则
{
    /// <summary>
    /// 定义一个学习电脑的接口
    /// </summary>
    public interface ILearnComputer
    {
    }

    /// <summary>
    /// 定义一个上网电脑的接口
    /// </summary>
    public interface INetComputer
    { }

    /// <summary>
    /// 定义一个学生电脑类,实现学习电脑的接口和上网电脑的接口
    /// </summary>
    public class StudentComputer : ILearnComputer, INetComputer
    {
        public void Learn()
        {
            Console.WriteLine("学习");
        }

        public void NetPlay()
        {
            Console.WriteLine("上网");
        }
    }
}

在上面的示例代码中,定义了两个接口,一个具体的电脑类实现了两个接口。如果只想上网,只实现上网的接口就可以;如果只想学习,则只实现学习的接口就可以。

示例2:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 接口隔离原则
{
    /// <summary>
    /// 定义一个学习电脑的接口
    /// </summary>
    public interface ILearnComputer
    {
    }

    /// <summary>
    /// 定义一个上网电脑的接口
    /// </summary>
    public interface INetComputer
    { }

    /// <summary>
    /// 定义一个学生电脑的抽象类,实现学习电脑的接口和上网电脑的接口
    /// </summary>
    public abstract class StudentComputer : ILearnComputer, INetComputer
    {
        public abstract void Learn();

        public abstract void NetPlay();
    }
}

具体操作时,抽象类和接口搭配进行使用。使用抽象类实现接口,在调用的时候使用抽象类进行变量的声明。

代码下载链接:点此下载

到此这篇关于C#面向对象设计原则之接口隔离原则的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#面向对象设计原则之接口隔离原则

本文链接: https://www.lsjlt.com/news/141085.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#面向对象设计原则之接口隔离原则
    接口隔离原则(ISP) 定义:使用多个专门的接口比使用单一的总接口要好。即不要把鸡蛋都放到一个篮子里。好处:比较灵活、方便,不想实现的或不用实现的可以不实现。解释说明:大部分人都喜欢...
    99+
    2024-04-02
  • java面向对象设计原则之接口隔离原则示例详解
    目录概念实现拓展概念 小接口原则,即每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。如下图所示定义了一个接口,包含了5个方法,实现类A用到了3个方法、实现类B用...
    99+
    2024-04-02
  • C#实现六大设计原则之接口隔离原则
    接口隔离原则(ISP)定义: 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 问题由来: 类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对...
    99+
    2024-04-02
  • C#面向对象设计原则之开闭原则
    开闭原则(OCP) 定义:对扩展开发,对修改关闭。好处: 适应性和灵活性。稳定性和延续性。可复用性与可维护性。 解释说明:开闭原则指的是两方面:对功能扩展开发,对修改进行关闭;有时当...
    99+
    2024-04-02
  • C#面向对象设计原则之单一职责原则
    单一职责原则(SRP) 定义:系统中的每一个类都应该只有一个职责。 好处:高内聚、低耦合。 解释说明: 单一职责也就是说我们应该让一个类或一个对象只做一件事情,每个类所要关注的就是自...
    99+
    2024-04-02
  • C#面向对象设计原则之里氏替换原则
    里氏替换原则(LSP) 定义:在任何父类出现的地方都可以用它的子类类替换,且不影响功能。解释说明:其实LSP是对开闭原则的一个扩展,在OO思想中,我们知道对象是由一系列的状态和行为组...
    99+
    2024-04-02
  • C#面向对象编程中的接口隔离原则是什么
    本篇内容介绍了“C#面向对象编程中的接口隔离原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!接口隔离原则接口隔离原则(Interfa...
    99+
    2023-07-02
  • Java设计模式七大原则之接口隔离原则详解
    目录定义案例需求方案一方案二对比分析总结小知识点相同点不同点定义 接口隔离原则(Interface Segregation Principle),又称为ISP原则,官方定义为 1.客...
    99+
    2024-04-02
  • C#面向对象编程中接口隔离原则的示例详解
    目录接口隔离原则C# 示例糟糕的示范正确的示范总结在面向对象编程中,SOLID 是五个设计原则的首字母缩写,旨在使软件设计更易于理解、灵活和可维护。这些原则是由美国软件工程...
    99+
    2024-04-02
  • C#面向对象设计原则之组合/聚合复用原则
    组合/聚合复用原则(LSP) 定义:优先使用组合,使系统更灵活,其次才考虑继承,达到复用的目的。重用的方式:继承、组合、聚合解释说明: 继承:在我们想复用代码时,我们一般会优先想到继...
    99+
    2024-04-02
  • Java设计模式之接口隔离原则精解
    1.什么是接口隔离原则? 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口范围上。 2.对应代码 上面这张图呢,就违反了接口隔离原则。它对应的代码如下:...
    99+
    2024-04-02
  • java面向对象设计原则之开闭原则示例解析
    概念 唯一不变的是不断的变化,在软件开发中应该对需求的变化持开放态度,我们要做的就是如何将这种变化对我们现有的成果带来最小的冲击。开闭原则直接面对面向对象程序的目标扩展性和可维护性,...
    99+
    2024-04-02
  • C#接口隔离原则怎么实现
    今天小编给大家分享一下C#接口隔离原则怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。接口隔离原则(ISP)定义:使用...
    99+
    2023-06-29
  • java面向对象设计原则之合成复用原则示例详解
    目录概念示例拓展概念 尽量使用合成/聚合,而不是使用继承实现复用。所谓的合成/聚合是指一个对象里持有另外一个类的对象,通过调用这些对象的方法得到复用已有功能的目的。如:报文解译程序中...
    99+
    2024-04-02
  • Java面向对象设计原则之迪米特法则介绍
    目录一、迪米特法则的定义二、迪米特法则的含义三、总结一、迪米特法则的定义 迪米特法则,也称为最少知识原则,虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗...
    99+
    2023-02-14
    Java迪米特法则 Java设计原则
  • python面向对象编程设计原则之单一职责原则详解
    目录一,封装(一)什么是封装(二)封装与访问(三)私有化与访问控制1,属性与方法的私有化2,变量名压缩3,方法重载(四)属性引用:getter、setter 与 property二,...
    99+
    2024-04-02
  • java面向对象设计原则之里氏替换原则示例详解
    目录概念实现拓展概念 里氏替换原则是任何基类出现的地方,子类一定可以替换它;是建立在基于抽象、多态、继承的基础复用的基石,该原则能够保证系统具有良好的拓展性,同时实现基于多态的抽象机...
    99+
    2024-04-02
  • 面向对象设计原则在C++中的体现
    c++++ 体现了 oop 原则,包括:封装:使用类将数据和方法封装在对象中。继承:允许派生类从基类继承数据和行为。多态:允许对象的行为根据其类型而改变,通过虚函数实现。 面向对象设计...
    99+
    2024-05-14
    c++ 面向对象
  • python3--归一化设计,接口类和抽象类,接口隔离原则,多态
    抽象类与接口类继承有两种用途1 继承基类的方法,并且做出自己的改变或者扩展(代码重用)2 声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中...
    99+
    2023-01-30
    接口 原则 多态
  • java面向对象设计原则之迪米特法则分析详解
    目录概念使用拓展概念 迪米特法则解决类与类之间耦合度问题,如果类A调用了B类的某一个方法,则这两个类就形成了一种紧耦合的方式,当B类这个方法发生变化时,一定会影响A类的执行结果。迪米...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作