posts - 10,  comments - 26,  trackbacks - 0

Composite 范式是一个 Object Structural 范式

Composite 范式中,存在对两个术语的理解和实现:

1、 树结构

一个面向对象的语言的类层次图不仅表示了一类实体类型集合,也表示了一个自然的树形结构。

2、 部分 - 整体

而部分 - 整体的关系,则是一个类型对另外类型的引用和结构实例包含。

这两个术语的结合,构成 Composite 范式的本质思想。在图上,它们分别由继承的图形和聚合引用的图形表示,如图:

Composite.png

posted on 2006-07-27 15:53 静静的流水 阅读(601) 评论(5)  编辑 收藏 引用 所属分类: Design Patterns

FeedBack:
# re: 设计范式笔记-Composite
2006-07-30 23:00 | 白云
没啥好评论的,贴段代码。
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的权限
}
}


  回复  更多评论
  
# re: 设计范式笔记-Composite
2006-07-31 00:24 | 静静的流水
@白云
不错的应用,谢谢补充  回复  更多评论
  
# re: 设计范式笔记-Composite
2006-07-31 23:31 | 白云
在以上代码的基础上增加方法的异常处理以及组增加组的操作。
http://www.cnblogs.com/WhiteCloud/archive/2006/07/31/464484.html  回复  更多评论
  
# re: 设计范式笔记-Composite
2006-07-31 23:47 | 静静的流水
@白云
谢谢  回复  更多评论
  
# re: 设计范式笔记-Composite
2007-12-20 17:44 | 秦歌
顶  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(1)

随笔分类(9)

随笔档案(10)

文章分类(7)

文章档案(7)

收藏夹(1)

Articles

C++ Template

Cpp News

Open Source C++ Compiler

友情链接-Blogs

搜索

  •  

积分与排名

  • 积分 - 8397
  • 排名 - 1262

最新评论