我正在解决以下问题:
迭代器设计模式具有很强的封装性。例如,一个图书馆想要一个图书管理系统。一个类用于book
存储它们的详细信息,一个类用于库
存储图书和书架号。假设图书馆想要使用JDBC
将数据存储在数据库中。
如何使用JDBC实现迭代器设计模式以确保数据的封装?
我关心的是在哪里处理数据库以及如何在应用程序之间共享数据。
数据库处理程序可以是库类的内部类吗?那么是否可以保存数据并根据请求检索它而不影响封装?
我还在学习,还有很长的路要走,所以请温柔一点:)
这是一个关于根据数据库使用迭代器模式的近似信息。
package tk.ezequielantunez.stackoverflow.examples;
import java.util.Collection;
import java.util.Iterator;
/**
* Paged implementatios of a DAO. Iterator interface is used.
* Nottice you get pages of Collections, where resides your data.
* @author Ezequiel
*/
public class DAOIterator implements Iterator<Collection> {
int actualPage;
int pageSize;
public DAOIterator(int pageSize) {
this.actualPage = 0;
this.pageSize = pageSize;
}
/**
* Indicates if you have more pages of datga.
*/
@Override
public boolean hasNext() {
return actualPage < getTotalPages();
}
/**
* Gets the next page of data.
*/
@Override
public Collection next() {
return getPage(++actualPage);
}
@Override
public void remove() {
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Calculates total number of pages.
*/
private int getTotalPages() {
/* You could do a count of total results and divide them by pageSize */
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Get a page of results with X objects, where X is the pageSize used in
* constructor.
*/
private Collection getPage(int page) {
/* Get data from database here */
throw new UnsupportedOperationException("Not supported yet.");
}
}
迭代器(Iterator) Intent 提供一种顺序访问聚合对象元素的方法,并且不暴露聚合对象的内部表示。 Class Diagram Aggregate 是聚合类,其中 createIterator() 方法可以产生一个 Iterator; Iterator 主要定义了 hasNext() 和 next() 方法; Client 组合了 Aggregate,为了迭代遍历 Aggregate,也
介绍 迭代器模式(Iterator):提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。 迭代器的几个特点是: 访问一个聚合对象的内容而无需暴露它的内部表示。 为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作。 遍历的同时更改迭代器所在的集合结构可能会导致问题(比如C#的foreach里不允许修改item)。 正文 一般的迭代,我们至少要有2个方
本文向大家介绍javascript设计模式之迭代器模式,包括了javascript设计模式之迭代器模式的使用技巧和注意事项,需要的朋友参考一下 迭代器模式分为内部迭代器和外部迭代器,内部迭代器就是在函数内部定义好迭代的规则,它完全接手整个迭代的过程,外部只需一次初始调用。 内部迭代器 以下自行实现的类似jquery中$.each()的each()函数就是内部迭代器 内部迭代器在调用时非常方便,但是
想改进这个问题吗?更新问题,以便通过编辑这篇文章用事实和引用来回答。 那么,如题所问,Java流可以被认为是迭代器模式的实现吗? 我们可以认为<代码>。stream()调用创建某种迭代器,允许您解析该集合的元素,而不实际暴露集合的表示?(如果我没弄错的话,这就是迭代器模式的含义) 编辑:为了避免混淆,请注意,我对Java的迭代器接口不感兴趣,我只想知道JavaStreams是否可以被视为迭代器设计
本文向大家介绍详解Java设计模式——迭代器模式,包括了详解Java设计模式——迭代器模式的使用技巧和注意事项,需要的朋友参考一下 迭代子模式 顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图: 这个思路和我们常用的一
本文向大家介绍C++ 模拟实现list(迭代器)实现代码,包括了C++ 模拟实现list(迭代器)实现代码的使用技巧和注意事项,需要的朋友参考一下 C++ 模拟实现list(迭代器) 实现代码: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!