沒啥好評論的,貼段代碼。
Composite模式C#實現:用戶及用戶組權限設置,一個組內的用戶權限相同。
//用戶和組的父接口
public interface userbase
{
void AddChild(userbase u); //添加子文件夾
void SetPurview(string purview);//設置權限
}
//用戶類
public class user : userbase
{
private string purview = "";
public void AddChild(userbase c)
{
//用戶下面沒有用戶,所以為空
}
public void SetPurview(string strPurview)
{
//設置用戶的權限
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()
{
//創建用戶組
group group1 = new group();//用戶組1
user user1 = new user();//用戶1
user user2 = new user();//用戶2
user user3 = new user();//用戶3
//添加兩個用戶到組中
group1.AddChild(user1);
group1.AddChild(user2);
group1.SetPurview("權限1");//設置組權限,則設置了組內的用戶權限
user3.SetPurview("權限2");//設置用戶3的權限
}
}
回復 更多評論