C#面向?qū)ο笤O計原則之接口隔離原則
接口隔離原則(ISP)
定義:使用多個專門的接口比使用單一的總接口要好。即不要把雞蛋都放到一個籃子里。
好處:比較靈活、方便,不想實現(xiàn)的或不用實現(xiàn)的可以不實現(xiàn)。
解釋說明:
大部分人都喜歡用一個接口把需要用到的方法全部聲明出來,但是ISP建議我們使用多個專門的接口比使用單一的總接口要好,也就是一個接口里的方法多的話,實現(xiàn)起來不是很方便。
示例1:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 接口隔離原則
{
/// <summary>
/// 定義一個學習電腦的接口
/// </summary>
public interface ILearnComputer
{
}
/// <summary>
/// 定義一個上網(wǎng)電腦的接口
/// </summary>
public interface INetComputer
{ }
/// <summary>
/// 定義一個學生電腦類,實現(xiàn)學習電腦的接口和上網(wǎng)電腦的接口
/// </summary>
public class StudentComputer : ILearnComputer, INetComputer
{
public void Learn()
{
Console.WriteLine("學習");
}
public void NetPlay()
{
Console.WriteLine("上網(wǎng)");
}
}
}在上面的示例代碼中,定義了兩個接口,一個具體的電腦類實現(xiàn)了兩個接口。如果只想上網(wǎng),只實現(xiàn)上網(wǎng)的接口就可以;如果只想學習,則只實現(xiàn)學習的接口就可以。
示例2:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 接口隔離原則
{
/// <summary>
/// 定義一個學習電腦的接口
/// </summary>
public interface ILearnComputer
{
}
/// <summary>
/// 定義一個上網(wǎng)電腦的接口
/// </summary>
public interface INetComputer
{ }
/// <summary>
/// 定義一個學生電腦的抽象類,實現(xiàn)學習電腦的接口和上網(wǎng)電腦的接口
/// </summary>
public abstract class StudentComputer : ILearnComputer, INetComputer
{
public abstract void Learn();
public abstract void NetPlay();
}
}具體操作時,抽象類和接口搭配進行使用。使用抽象類實現(xiàn)接口,在調(diào)用的時候使用抽象類進行變量的聲明。
代碼下載鏈接:點此下載
到此這篇關(guān)于C#面向?qū)ο笤O計原則之接口隔離原則的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#基于正則表達式實現(xiàn)獲取網(wǎng)頁中所有信息的網(wǎng)頁抓取類實例
這篇文章主要介紹了C#基于正則表達式實現(xiàn)獲取網(wǎng)頁中所有信息的網(wǎng)頁抓取類,結(jié)合完整實例形式分析了C#正則網(wǎng)頁抓取類與使用技巧,需要的朋友可以參考下2017-05-05

