温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
Java设计模式之迭代器模式,我们来看一下。我们先看一个具体的需求。那现在呢,我们还提以前前面讲过的一个学院。院系结构的这么一个案例需求,跟前面大家应该听过,就是在一个页面中呢,我们要展示,展示出学校的院系的组成,就说一个学校呢,有多个学院,一个学院有多个系,比如说现在我们要求计算机学院有以下的专业,哪些专业呢?有这么。四个专业,我们认为信息工程学院呢,有下面两个专业,我要把它展示出来。呃,大家如果还有印象的话,应该能记得我们在前面曾经用组合模式,组合模式解决过这个问题,那现在我们要站在另外一个角度来解决他,就是怎么去便利他的问题。怎么去便利它的问题,那嗯,这个地方核心点在什么地方呢?我们先来看,如果说我们用传统方案,用内图来设计的话呢,仍然是让学院去继承学校,让系继承学院这种传统方式,这种传统方式还是跟前面分析的问题一样。
01:17
你是将学院看作是学校之内,将系看成学院之内,这样呢?实际上是站在组织大小上的一个层次的,现在我们的要求是这样的,同学们。在一个页面中要展示出学校的院系组成,那么有一个问题就是怎么去实现一个便利?怎么实现这个便利?那有些同学是便利还不好实现吗?的确,便利的便利是很好实现的,但是我们要考虑的是你是以什么方式来便利的。我们这个时候提出一种迭代器模式,来看下面的我们要说的东西。那我们就说,如果我们以,如果我们传统的方案来解决的话呢,其实它并不适合特不是一个特别好的一个实现方案,为什么我说。
02:06
注意听假如我我说假如啊,我说假如,呃,有这么一个情况,你大家听我讲。比如说。注意听。比如说现在呢,我们这个计算机。计算机学院。计算机学院。他的这个戏呢,他的这个系是以宿主的方式管理的。也就是说,他是把这个戏放在数组数组中的。那假如说我们这个信息信息工程学院。他是把他的戏放在什么呢?放在一个集合中的。各位同学。现在的问题是。我们怎么样能够比较?简单的去就说我们怎么去通过通过一个统一的接口。
03:01
就通过一个统一的方式,不管你是以数组的方式在管理系,还是以集合的方式在管理系。我们可以通过一个统一的接口来来解决,这时对这时其实我们要用到什么呢?迭代器模式。啊,这个时候就引出了我们的迭代器模式。爹爹代起模式。也就是说,我们到时验证会通通过提供一个统一的迭代器来完成对各个学院的系的一个便利,不管你是以数组的还是以集合,不管你是以什么集合,比如说你用2LIST还是哈西map,我不管。我都可以很轻松的给你便利出来,这就引出迭代器了,所以说我们这一个传统方式呢,如果是以继承的方式来完成的,其实并不是特别合适。不,不是特别合适去对它进行一个便利,对吧,所以说现在呢,我们要去完成这一个对各个学院的系的便利呢,我们要引出一种新的方式,就是刚才老师所说的迭代器模式,那至于迭代器模式具体是什么内容,我们待会为大家进行讲解。
我来说两句