冰浪

哥已不再年轻 - 坚定梦想,毕生追求!
posts - 85, comments - 90, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

设计模式学习笔记之一:聚集的作用?

Posted on 2006-09-06 18:19 冰浪 阅读(798) 评论(5)  编辑  收藏 所属分类: 设计模式

今天开始看《设计模式-JAVA语言中的应用》一书,学习一下设计模式的理论。
早上读完第一章,Iterator——迭代器。

首先定义了Aggregate接口:

public interface Aggregate {
      public abstract Iterator  iterator();
}

然后定义了Iterator接口:

public interface Iterator {
     public abstract boolean hasNext();
     public abstract Object next();
}

……
书中说到:
         “Aggregate接口所声明的方法只有iterator方法一个,这是为了建立一个可以对应聚合的Iterator。
         如欲递增、遍历或逐一检查某个聚合时,利用iterator方法即可建立一个实现Iterator接口的类对象实例(instance)。”

读完了整章节,明白了各接口类和实现类之间的关系,使用方法及设计思想。
其中有这样一句话:不要只用具体类写程序,要利用抽象类和接口才对。
但Aggregate接口的作用始终没能明白。为什么要设计这个接口?它的作用是什么??聚集的含意又是什么呢??


评论

# re: 设计模式学习笔记之一:聚集的作用?  回复  更多评论   

2006-09-15 13:53 by lijiajia418
这有什么不好理解的了?Aggregate 指的是一组数据的集合,犹如集合类中的Collection,List,Set....Aggregate 的实现类继承并实现了iterator接口以便返回不同的Iterator迭代器,但是在java的标准AIP中没有抽象出Aggregate 而是在List,Set接口中定义了iterator()的方法签名。

# re: 设计模式学习笔记之一:聚集的作用?  回复  更多评论   

2006-09-19 11:53 by 冰浪
哦~~原来如此~呵呵!
原来就是像是List类一样,是为了更好的遍历~
谢谢!~

# 说点题外话  回复  更多评论   

2007-01-22 17:52 by 海浪
说实话,你的分析确实很好,理解能力远在我之上。
呵呵,怎么像个专家说话呢。
我个人认为,你的编程规范需要改进。
有些方面做的不是很完美。
期待你的更改。
有时间去我的blog玩去

# re: 设计模式学习笔记之一:聚集的作用?  回复  更多评论   

2007-03-17 19:55 by ff_soft
在定义了Aggregate接口:

public interface Aggregate {
public abstract Iterator iterator();
}
Iterator 是一个抽象的方法,可是我看过一本书,曾经说过:“含有抽象方法的类必须被声明为抽象类”可是这里这个抽象的方法却是在一个接口中,难道可以这样定义吗?谢谢

# re: 设计模式学习笔记之一:聚集的作用?  回复  更多评论   

2007-03-26 13:36 by 冰浪
to ff_soft:
当然可以,而且也应该这么定义为接口而不是抽象类。接口类中的方法全为抽象方法,没有方法体,只有方法声明。而抽象类中可以有具体方法。

只有注册用户登录后才能发表评论。


网站导航: