iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#面向对象编程中的接口隔离原则是什么
  • 213
分享到

C#面向对象编程中的接口隔离原则是什么

2023-07-02 18:07:05 213人浏览 安东尼
摘要

本篇内容介绍了“C#面向对象编程中的接口隔离原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!接口隔离原则接口隔离原则(Interfa

本篇内容介绍了“C#面向对象编程中的接口隔离原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    接口隔离原则

    接口隔离原则(Interface segregation principle,ISP)认为“多个特定用户接口要好于一个宽泛用途的接口”。

    它指明用户(client)不应被迫使用对其而言无用的方法或功能。接口隔离原则将庞大臃肿的接口拆分成为更小、更具体的接口,让用户仅需知道他们感兴趣的方法。这种缩小了的接口也被称为角色接口(role interfaces)。接口隔离原则的目的是将系统解耦,从而使其易于重构、更改和重新部署。

    C# 示例

    糟糕的示范

    创建一个包含公司部门的 ICompanyDepartment 接口。

    interface ICompanyDepartment{    public void AdminDepartment();    public void FinanaceDepartment();    public void HRDepartment();    public void ITDepartment();}

    让我们首先为 A 公司实现 ICompanyDepartment 接口,文件名为 ACompany.cs:

    class ACompany : ICompanyDepartment{    public void AdminDepartment()    {        //DO SOMETHING    }    public void FinanaceDepartment()    {        //DO SOMETHING    }    public void HRDepartment()    {        //DO SOMETHING    }    public void ITDepartment()    {        //DO SOMETHING    }}

    假如现在有一个从事制造业的 B 公司,他们没有 IT 部门,而多了一个生产部门,那么上面的实现就有问题了。

    如果在接口 ICompanyDepartment 上添加一个 ManufacturingDepartment 生产部门,那我们就不得不在 ACompany 和 BCompany 两个类上都实现该签名。

    也就是说,为了使用 ICompanyDepartment 接口,我们不得不在 ACompany 类上实现不必要的 ManufacturingDepartment 方法,在 BCompany 类上实现不必要的 ITDepartment 方法。这明显违反了接口隔离原则。

    为了使其符合接口隔离原则,我们需要进行一些修改。

    正确的示范

    根据接口隔离原则,我们要将 ITDepartment 和 ManufacturingDepartment 方法从接口 ICompanyDepartment 拆分出来,形成两个独立的角色接口

    • IACompanyUniqueFeature

    • IBCompanyUniqueFeature

    这样我们就拥有了三个接口:

    interface ICompanyDepartment{    public void AdminDepartment();    public void FinanaceDepartment();    public void HRDepartment();}interface IACompanyUniqueFeature{    public void ITDepartment();}interface IBCompanyUniqueFeature{    public void ManufacturingDepartment();}

    类 ACompany 和 BCompany 的实现如下:

    class ACompany : ICompanyDepartment, IACompanyUniqueFeature{    public void AdminDepartment()    {        //DO SOMETHING    }    public void FinanaceDepartment()    {        //DO SOMETHING    }    public void HRDepartment()    {        //DO SOMETHING    }    public void ITDepartment()    {        //DO SOMETHING    }}class BCompany : ICompanyDepartment, IBCompanyUniqueFeature{    public void AdminDepartment()    {        //DO SOMETHING    }    public void FinanaceDepartment()    {        //DO SOMETHING    }    public void HRDepartment()    {        //DO SOMETHING    }    public void ManufacturingDepartment()    {        //DO SOMETHING    }}

    这样,以上的接口设计便遵循了接口隔离原则。

    “C#面向对象编程中的接口隔离原则是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: C#面向对象编程中的接口隔离原则是什么

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

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

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

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

    下载Word文档
    猜你喜欢
    • C#面向对象编程中的接口隔离原则是什么
      本篇内容介绍了“C#面向对象编程中的接口隔离原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!接口隔离原则接口隔离原则(Interfa...
      99+
      2023-07-02
    • C#面向对象设计原则之接口隔离原则
      接口隔离原则(ISP) 定义:使用多个专门的接口比使用单一的总接口要好。即不要把鸡蛋都放到一个篮子里。好处:比较灵活、方便,不想实现的或不用实现的可以不实现。解释说明:大部分人都喜欢...
      99+
      2022-11-13
    • C#面向对象编程中接口隔离原则的示例详解
      目录接口隔离原则C# 示例糟糕的示范正确的示范总结在面向对象编程中,SOLID 是五个设计原则的首字母缩写,旨在使软件设计更易于理解、灵活和可维护。这些原则是由美国软件工程...
      99+
      2022-11-13
    • java面向对象设计原则之接口隔离原则示例详解
      目录概念实现拓展概念 小接口原则,即每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。如下图所示定义了一个接口,包含了5个方法,实现类A用到了3个方法、实现类B用...
      99+
      2022-11-12
    • C#面向对象编程中的开闭原则是什么
      这篇“C#面向对象编程中的开闭原则是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#面向对象编程中的开闭原则是什么”文...
      99+
      2023-07-02
    • Java中接口隔离原则是什么
      小编给大家分享一下Java中接口隔离原则是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.什么是接口隔离原则?客户端不应该依赖它不需要的接口,即一个类对另一...
      99+
      2023-06-29
    • C#面向对象编程中的里氏替换原则是什么
      这篇文章主要介绍“C#面向对象编程中的里氏替换原则是什么”,在日常操作中,相信很多人在C#面向对象编程中的里氏替换原则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#面向对象编程中的里氏替换原则是什么...
      99+
      2023-07-02
    • C#面向对象编程中开闭原则的示例详解
      目录开闭原则C# 示例改进总结在面向对象编程中,SOLID 是五个设计原则的首字母缩写,旨在使软件设计更易于理解、灵活和可维护。这些原则是由美国软件工程师和讲师罗伯特&mi...
      99+
      2022-11-13
    • C++中的面向对象编程概念是什么
      本篇文章给大家分享的是有关C++中的面向对象编程概念是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一.对象(Object),这个概念可以说是面向对象里面的最为核心的概念,...
      99+
      2023-06-17
    • 面向对象设计的OOD原则是什么
      本文小编为大家详细介绍“面向对象设计的OOD原则是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“面向对象设计的OOD原则是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。单一职责原则(SRP):一个类应当...
      99+
      2023-06-03
    • C#面向对象编程中依赖反转原则的示例详解
      在面向对象编程中,SOLID 是五个设计原则的首字母缩写,旨在使软件设计更易于理解、灵活和可维护。这些原则是由美国软件工程师和讲师罗伯特·C·马...
      99+
      2022-11-13
    • C#面向对象编程中里氏替换原则的示例详解
      目录里氏替换原则C# 示例糟糕的示范正确的示范总结在面向对象编程中,SOLID 是五个设计原则的首字母缩写,旨在使软件设计更易于理解、灵活和可维护。这些原则是由美国软件工程...
      99+
      2022-11-13
    • C语言面向对象编程中的封装是什么
      这篇文章主要介绍“C语言面向对象编程中的封装是什么”,在日常操作中,相信很多人在C语言面向对象编程中的封装是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言面向对象编程中的封装是什么”的疑惑有所帮助!...
      99+
      2023-06-29
    • PHP中的面向对象编程是什么?
      PHP是一种常用的编程语言,广泛应用于网络应用程序的开发中。在PHP的发展过程中,面向对象编程(OOP)成为其一个不可分割的组成部分。本文将介绍PHP中的面向对象编程是什么,其特点和应用场景。一、面向对象编程概述面向对象编程是一种编程范型,...
      99+
      2023-05-21
      PHP 面向对象编程 OOP
    • Java面向对象设计的六大原则是什么
      本文小编为大家详细介绍“Java面向对象设计的六大原则是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java面向对象设计的六大原则是什么”文章能帮助大家解决疑惑,下面跟...
      99+
      2022-10-19
    • PHP面向对象分析设计的原则是什么
      PHP面向对象分析设计的原则是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Arthur J.Riel曾说过,你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你...
      99+
      2023-06-17
    •  Java SE面向对象编程的3个常用接口分别是什么
      这篇文章主要为大家分析了 Java SE面向对象编程的3个常用接口分别是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“ J...
      99+
      2023-06-26
    • C# 实例解释面向对象编程中的单一功能原则(示例代码)
      在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有且仅有一个单一的功能,并且该功能应该由这个类完全封装起来。 在面...
      99+
      2022-11-13
    • OOP面向对象编程的概念是什么
      面向对象编程(Object-Oriented Programming,OOP)是一种编程范式或编程思想,它将计算机程序组织为对象的集...
      99+
      2023-10-25
      OOP
    • Scala面向对象编程的方法是什么
      这篇文章主要讲解了“Scala面向对象编程的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Scala面向对象编程的方法是什么”吧!Scala 基础面向对象编程Scala 和Java...
      99+
      2023-06-17
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作