做人学会说NO,写程序学会说NULL。----------设计模式
如果朋友要向你借钱,你没有钱但你没有跟朋友说,朋友以为你有钱借给,于是朋友急用钱,你却拿不出。
朋友借钱消费也就罢了,如果是看病,那可就耽误大事了!!
呵呵。
做人学会说NO,写程序学会说NULL。
namespace NullObject
{
public abstract class Friend
{
public abstract bool IsHaveMoney();
public abstract void Lend();
public static readonly Friend NULL = new NullFriend(); //会说null 的朋友
private sealed class NullFriend : Friend
{
public override bool IsHaveMoney()
{
Console.WriteLine("sorry, i have not money!\r\n");
return false;
}
public override void Lend()
{
Console.WriteLine("NullFriend: no lend();\r\n");
}
}
}
class Consumer
{
public static Friend getFriends()
{
return Friend.NULL;
}
}
class Program
{
static void Main(string[] args)
{
Friend friend = Consumer.getFriends();
if (friend.IsHaveMoney())
{
friend.Lend();
}
Console.WriteLine("end ;\r\n");
}
}
}