没啥好评论的,贴段代码。
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的权限
}
}
回复 更多评论