嘗試下NullObject模式

來源:互聯網
上載者:User

using System;
using System.Collections;

public class DB
{
private static ArrayList list = new ArrayList();
public static void AddEmp(string name)
{
list.Add(new Employee(name));
}
public static IEmployee SearcheEmployee(string empName)
{
IEmployee emptemp = NullEmployee.GetInstance();
foreach(Employee emp in list)
{
if (emp.Name == empName)
{
emptemp = emp;
}
}
return emptemp;
}
}

public interface IEmployee
{
void SayHello();
}

 

//結合了Singleton

public class NullEmployee:IEmployee
{
private static NullEmployee emp;
private NullEmployee(){}
public static NullEmployee GetInstance()
{
if(emp==null)
emp = new NullEmployee();
return emp;
}
public void SayHello()
{
Console.WriteLine("Null Employee !");
}
}

public class Employee:IEmployee
{
public Employee(string n)
{
name = n;
}
private string name ;
public string Name
{
get
{
return name;
}
}
public void SayHello()
{
Console.WriteLine("Hello!"+name);
}
public override string ToString()
{
return "The Employee Name is :"+name;
}
}

public class MyClass
{
public static void Main()
{
DB.AddEmp("Randy");
DB.AddEmp("Edward");
DB.AddEmp("Flying");
Console.WriteLine(DB.SearcheEmployee("Edward").ToString());
Console.WriteLine(DB.SearcheEmployee("Fei").ToString());
DB.SearcheEmployee("Fei").SayHello();
Console.Read();
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.