设计模式のNullObjectPattern(空对象模式)----行为模式
生活随笔
收集整理的這篇文章主要介紹了
设计模式のNullObjectPattern(空对象模式)----行为模式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、產(chǎn)生背景
在空對(duì)象模式(Null Object Pattern)中,一個(gè)空對(duì)象取代 NULL 對(duì)象實(shí)例的檢查。Null 對(duì)象不是檢查空值,而是反應(yīng)一個(gè)不做任何動(dòng)作的關(guān)系。這樣的 Null 對(duì)象也可以在數(shù)據(jù)不可用的時(shí)候提供默認(rèn)的行為。
在空對(duì)象模式中,我們創(chuàng)建一個(gè)指定各種要執(zhí)行的操作的抽象類和擴(kuò)展該類的實(shí)體類,還創(chuàng)建一個(gè)未對(duì)該類做任何實(shí)現(xiàn)的空對(duì)象類,該空對(duì)象類將無縫地使用在需要檢查空值的地方。
二、實(shí)現(xiàn)方式
引入一個(gè)特殊處理的對(duì)象
三、代碼實(shí)現(xiàn)
public class Others : IBall {public void Play(){Console.WriteLine("您選擇的球類項(xiàng)目目前還不存在~~");} }class Program {static void Main(string[] args){IBall ball = null;SportsMan man = new SportsMan();while (true){Console.WriteLine("選擇你喜歡的球類項(xiàng)目(1=足球, 2=籃球,3=排球)");string input = Console.ReadLine();switch (input){case "1":ball = new Football();break;case "2":ball = new Basketball();break;case "3":ball = new Volleyball();break;default:ball = new Others();break;}man.SetHobby(ball);man.StartPlay();}} }四、模式分析
沒啥缺點(diǎn)
?
轉(zhuǎn)載于:https://www.cnblogs.com/xietianjiao/p/8745174.html
總結(jié)
以上是生活随笔為你收集整理的设计模式のNullObjectPattern(空对象模式)----行为模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一图解明Android Studio项目
- 下一篇: jsplumb踩坑