沒(méi)啥好評(píng)論的,貼段代碼。
Composite模式C#實(shí)現(xiàn):用戶及用戶組權(quán)限設(shè)置,一個(gè)組內(nèi)的用戶權(quán)限相同。
//用戶和組的父接口
public interface userbase
{
void AddChild(userbase u); //添加子文件夾
void SetPurview(string purview);//設(shè)置權(quán)限
}
//用戶類
public class user : userbase
{
private string purview = "";
public void AddChild(userbase c)
{
//用戶下面沒(méi)有用戶,所以為空
}
public void SetPurview(string strPurview)
{
//設(shè)置用戶的權(quán)限
purview = strPurview;
}
}
//用戶組類.
public class group : userbase
{
private ArrayList userlist = new ArrayList();
public void AddChild(userbase c) //添加用戶
{
userlist.Add(c);
}
public void SetPurview(string strPurview)
{
foreach (userbase u in userlist)
u.SetPurview(strPurview);
}
}
class MyMain
{
public static void Main()
{
//創(chuàng)建用戶組
group group1 = new group();//用戶組1
user user1 = new user();//用戶1
user user2 = new user();//用戶2
user user3 = new user();//用戶3
//添加兩個(gè)用戶到組中
group1.AddChild(user1);
group1.AddChild(user2);
group1.SetPurview("權(quán)限1");//設(shè)置組權(quán)限,則設(shè)置了組內(nèi)的用戶權(quán)限
user3.SetPurview("權(quán)限2");//設(shè)置用戶3的權(quán)限
}
}
回復(fù) 更多評(píng)論