Visitorパターン@Java言語で学ぶデザインパターン入門

image

参考書籍

Java言語で学ぶデザインパターン入門第3版

Visitorパターンとは?

参考書籍では以下のように説明されていました。

Visitorパターンでは、データ構造と処理を分離します。

メリット

  • 処理をデータ構造から分離することができる

サンプルコード

Compositeパターンの記事で使ったサンプルコードを拡張していきます。

Java画像 Compositeパターン@Java言語によるデザインパターン入門

ファイルとディレクトリで構成されたデータ構造の中を訪問者が渡り歩き、ファイルの一覧を表示するプログラムを作成します。

クラス図はこんな感じ。

Visitorクラス

訪問者を表す抽象クラス。

visit(File)メソッドはFileを訪問したときにFileクラスが呼び出す

visit(Directory)メソッドはDirectoryを訪問したときにDirectoryクラスが呼び出す

Elementインターフェース

訪問者(Visitorクラス)を受け入れるインターフェースです。

Entryクラス

EntryをVisitorパターンに適合させるためにElementインターフェースを実装しています。

Fileクラス

Directoryクラス

ListVisitorクラス

Mainクラス

出力

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


error: Content is protected !!