016-003-011

テンプレートメソッドパターン

上級

問題説明

テンプレートメソッドパターン

この問題では: 抽象クラス DataProcessor にテンプレートメソッドパターンを実装し、処理の骨格を定義しながらサブクラス CsvProcessorJsonProcessor で具体的な処理を提供するプログラムを作成します。

学習目標: テンプレートメソッドパターンによる抽象クラスの設計手法を理解する

概要

DataProcessor 抽象クラスは process() メソッドで処理の骨格(読込→変換→出力)を定義します。各ステップは抽象メソッドとしてサブクラスに委譲します。

仕様

  • DataProcessor 抽象クラス:
    • process(): テンプレートメソッド(readData()transformData()writeData() を順に呼ぶ)
    • readData(): 抽象メソッド(データ読込のステップを出力)
    • transformData(): 抽象メソッド(データ変換のステップを出力)
    • writeData(): 抽象メソッド(データ書込のステップを出力)
  • CsvProcessor: 各ステップで CSV 形式の処理内容を出力
  • JsonProcessor: 各ステップで JSON 形式の処理内容を出力
  • Mainクラスで両方の process() を呼び出す

出力形式

--- CSV Processing ---
Reading CSV file
Converting CSV to records
Writing records to database
--- JSON Processing ---
Reading JSON file
Parsing JSON to objects
Writing objects to API

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録