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