Iterator Pattern Là Gì

     

Trong khi cải tiến và phát triển các ứng dụng, chúng ta làm việc với nhiều một số loại tập đúng theo như: cấu trúc cây, mảng, tập hợp, bảng băm, chống xếp, hàng đợi, … phương pháp mà tập thích hợp này lưu lại trữ đối tượng người dùng của nó khôn xiết khác nhau, với nếu bạn muốn truy cập tài liệu của những đối tượng người dùng này, các bạn phải học hầu hết kỹ thuật không giống nhau cho từng loại tập hợp. Khi đó, chủng loại Iterator là một giải pháp tốt. Chúng ta hoàn toàn có thể sử dụng một interface được xác minh phương thức ví dụ để truy cập tới từng thành phần của tập hợp. Thực hiện những cách tiến hành này, bạn cũng có thể truy xuất cho tới các phần tử trong tập thích hợp theo cùng cách tiện lợi nhất.

Bạn đang xem: Iterator pattern là gì

*
*
*
*
*

Item.java

package com.tanquockhang.vn.patterns.behavioral.iterator;public class thành tích private String title;private String url;public Item(String title, String url) super();this.title = title;this.url = url;
Overridepublic String toString() return "Item ";ItemIterator.java

package com.tanquockhang.vn.patterns.behavioral.iterator;public interface ItemIterator boolean hasNext();T next();Menu.java

package com.tanquockhang.vn.patterns.behavioral.iterator;import java.util.ArrayList;import java.util.List;public class menu {private menu menuItems = new ArrayList();public void addItem(Item item) menuItems.add(item);public ItemIterator iterator() return new MenuItemIterator();class MenuItemIterator implements ItemIterator {private int currentIndex = 0;
Overridepublic boolean hasNext() {return currentIndex Client.java

package com.tanquockhang.vn.patterns.behavioral.iterator;public class Client public static void main(String<> args) Menu thực đơn = new Menu();menu.addItem(new Item("Home", "/home"));menu.addItem(new Item("Java", "/java"));menu.addItem(new Item("Spring Boot", "/spring-boot"));ItemIterator iterator = menu.iterator();while (iterator.hasNext()) Item thành tích = iterator.next();System.out.println(item);Output của chương trình:

Item Item Item Các chúng ta có thể thêm về kiểu cách implement Iterator Pattern vào JDK như:

Tất cả các thiết đặt của java.util.Iterator Tất cả các cài đặt của java.util.Enumeration

Lợi ích của Iterator Pattern là gì?

Một số công dụng khi thực hiện Iterator Pattern:

Chúng ta hoàn toàn có thể truy cập song song trên và một tập hợp vì mỗi đối tượng người dùng iterator bao gồm chứa trạng thái riêng của nó.

Xem thêm: Vi Phạm Dữ Liệu ( Data Breach Là Gì ? Đặc Điểm Và Phân Loại Đặc Điểm Và Phân Loại

Một số vấn đề cần xem xét khi áp dụng Iterator:

Sử dụng iterator hoàn toàn có thể kém tác dụng hơn so với việc duyệt qua các thành phần của tủ đựng đồ một giải pháp trực tiếp.Có thể không cần thiết nếu áp dụng chỉ vận động với những collection đơn giản.

Xem thêm: Phân Biệt Nội Động Từ Và Ngoại Động Từ Trong Tiếng Anh, Nội Động Từ Là Gì

Sử dụng Iterator Pattern lúc nào?

Cần truy cập nội dung của đối tượng người sử dụng trong tập hợp mà lại không cần phải biết nội dung cài đặt phía bên trong nó.Hỗ trợ truy xuất nhiều các loại tập phù hợp khác nhau.Cung cung cấp một interface tuyệt nhất để thông qua qua các thành phần của một tập hợp.

Tài liệu tham khảo:

Design Patterns: Elements of Reusable Object-Oriented Software – GOFDesign Pattern for dummies