欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則

 更新時(shí)間:2022年03月07日 10:57:47   作者:.NET開發(fā)菜鳥  
這篇文章介紹了C#面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

接口隔離原則(ISP)

定義:使用多個(gè)專門的接口比使用單一的總接口要好。即不要把雞蛋都放到一個(gè)籃子里。
好處:比較靈活、方便,不想實(shí)現(xiàn)的或不用實(shí)現(xiàn)的可以不實(shí)現(xiàn)。
解釋說明:
大部分人都喜歡用一個(gè)接口把需要用到的方法全部聲明出來,但是ISP建議我們使用多個(gè)專門的接口比使用單一的總接口要好,也就是一個(gè)接口里的方法多的話,實(shí)現(xiàn)起來不是很方便。

示例1:

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

namespace 接口隔離原則
{
    /// <summary>
    /// 定義一個(gè)學(xué)習(xí)電腦的接口
    /// </summary>
    public interface ILearnComputer
    {
    }

    /// <summary>
    /// 定義一個(gè)上網(wǎng)電腦的接口
    /// </summary>
    public interface INetComputer
    { }

    /// <summary>
    /// 定義一個(gè)學(xué)生電腦類,實(shí)現(xiàn)學(xué)習(xí)電腦的接口和上網(wǎng)電腦的接口
    /// </summary>
    public class StudentComputer : ILearnComputer, INetComputer
    {
        public void Learn()
        {
            Console.WriteLine("學(xué)習(xí)");
        }

        public void NetPlay()
        {
            Console.WriteLine("上網(wǎng)");
        }
    }
}

在上面的示例代碼中,定義了兩個(gè)接口,一個(gè)具體的電腦類實(shí)現(xiàn)了兩個(gè)接口。如果只想上網(wǎng),只實(shí)現(xiàn)上網(wǎng)的接口就可以;如果只想學(xué)習(xí),則只實(shí)現(xiàn)學(xué)習(xí)的接口就可以。

示例2:

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

namespace 接口隔離原則
{
    /// <summary>
    /// 定義一個(gè)學(xué)習(xí)電腦的接口
    /// </summary>
    public interface ILearnComputer
    {
    }

    /// <summary>
    /// 定義一個(gè)上網(wǎng)電腦的接口
    /// </summary>
    public interface INetComputer
    { }

    /// <summary>
    /// 定義一個(gè)學(xué)生電腦的抽象類,實(shí)現(xiàn)學(xué)習(xí)電腦的接口和上網(wǎng)電腦的接口
    /// </summary>
    public abstract class StudentComputer : ILearnComputer, INetComputer
    {
        public abstract void Learn();

        public abstract void NetPlay();
    }
}

具體操作時(shí),抽象類和接口搭配進(jìn)行使用。使用抽象類實(shí)現(xiàn)接口,在調(diào)用的時(shí)候使用抽象類進(jìn)行變量的聲明。

代碼下載鏈接:點(diǎn)此下載

到此這篇關(guān)于C#面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 正則表達(dá)式進(jìn)階

    C# 正則表達(dá)式進(jìn)階

    這篇文章主要介紹了C# 正則表達(dá)式進(jìn)階,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 深入淺出23種設(shè)計(jì)模式

    深入淺出23種設(shè)計(jì)模式

    本文給大家詳解23種設(shè)計(jì)模式,理解設(shè)計(jì)模式有助于在程序開發(fā)過程中靈活應(yīng)用,需要的朋友可以參考下
    2015-08-08
  • C#設(shè)置子窗體在主窗體中居中顯示解決方案

    C#設(shè)置子窗體在主窗體中居中顯示解決方案

    接下來將介紹C#如何設(shè)置子窗體在主窗體中居中顯示,本文提供詳細(xì)的操作步驟,需要的朋友可以參考下
    2012-12-12
  • C#讀取命令行參數(shù)的方法

    C#讀取命令行參數(shù)的方法

    這篇文章主要介紹了C#讀取命令行參數(shù)的方法,可實(shí)現(xiàn)讀取程序輸入命令行的所有參數(shù),便于調(diào)試程序,比較簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-04-04
  • C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法實(shí)例詳解

    C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法實(shí)例詳解

    這篇文章主要介紹了C#中構(gòu)造函數(shù)和析構(gòu)函數(shù)用法,結(jié)合實(shí)例形式詳細(xì)分析了C#中構(gòu)造函數(shù)與析構(gòu)函數(shù)的原理、定義、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-06-06
  • C#數(shù)字圖像處理之圖像二值化(彩色變黑白)的方法

    C#數(shù)字圖像處理之圖像二值化(彩色變黑白)的方法

    這篇文章主要介紹了C#數(shù)字圖像處理之圖像二值化(彩色變黑白)的方法,可實(shí)現(xiàn)圖像從彩色轉(zhuǎn)變?yōu)楹诎椎男Ч?非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • WPF彈出自定義窗口的方法

    WPF彈出自定義窗口的方法

    這篇文章主要介紹了WPF彈出自定義窗口的方法,結(jié)合實(shí)例形式分析了WPF自定義窗口的創(chuàng)建與調(diào)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • C# WebService創(chuàng)建、發(fā)布、調(diào)用的實(shí)例講解

    C# WebService創(chuàng)建、發(fā)布、調(diào)用的實(shí)例講解

    下面小編就為大家分享一篇C# WebService創(chuàng)建、發(fā)布、調(diào)用的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • automation服務(wù)器不能創(chuàng)建對(duì)象 解決方法

    automation服務(wù)器不能創(chuàng)建對(duì)象 解決方法

    本文主要介紹如何解決“automation服務(wù)器不能創(chuàng)建對(duì)象”錯(cuò)誤,從而解決Visual Studio.Net不能正常使用的問題,需要的朋友可以參考下。
    2016-06-06
  • C#使用Stack<T>進(jìn)行堆棧設(shè)計(jì)的實(shí)現(xiàn)

    C#使用Stack<T>進(jìn)行堆棧設(shè)計(jì)的實(shí)現(xiàn)

    堆棧代表了一個(gè)后進(jìn)先出的對(duì)象集合,當(dāng)您需要對(duì)各項(xiàng)進(jìn)行后進(jìn)先出的訪問時(shí),則使用堆棧,本文主要介紹了C#使用Stack<T>類進(jìn)行堆棧設(shè)計(jì)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),感興趣的可以了解一下
    2024-03-03

最新評(píng)論