プログラムのインターフェース?

以下の要件があったとする。

  • ある情報をAはXML形式で欲しい。
  • ある情報をAは将来に渡ってCSV形式で欲さない。
  • ある情報をBはCSV形式で欲しい。
  • ある情報をBは将来に渡ってXML形式で欲さない。


Q.“ある情報を抽出して、形式変換して、返す”プログラムを作るとき、プログラムはいくつ作る?

(選択肢1)1個

  • ある情報を抽出して、
    • ユーザ(グループ)がAだったらXML形式に変換して返す
    • ユーザ(グループ)がBだったらCSV形式に変換して返す

っていうプログラムを作る。

(選択肢2)2個

  • ある情報を抽出して、XML形式に変換して返す
  • ある情報を抽出して、CSV形式に変換して返す

っていうプログラムを作る。

(選択肢3)1個

  • ある情報を抽出して、ユーザ(グループ)が指定した形式に変換して返す

っていうプログラムを作る。


A.1個(選択肢3)かな。



要件を少し変えてみる。

  • ユーザ(グループ)に形式を意識させちゃダメ。

(選択肢)は上と一緒。


A.1個(選択肢1)かな。


さらに要件を変えてみる。

  • ユーザ(グループ)は将来に渡ってAとBしかいない。

(選択肢)は上と一緒。


A.1個(選択肢1)かな。


さらに×2要件を変えてみる。

  • Aは将来に渡ってボタンAを押して情報を要求する。
  • Bは将来に渡ってボタンBを押して情報を要求する。

(選択肢)は上と一緒。


A.2個(選択肢2)かな。


整理するつもりが混乱してきた&眠い。
AがTXT形式でも欲しいって言い出しそうな気配があったら?ってしつこい。


将来を見越しては作れないな。