ユーザーがいくつかのGUI処理クラスでファイルパスを選択するとします。したがって、ファイルパスを含む文字列を受け取ります。
さて、ファイルを開く/閉じるコードを配置するためのベストプラクティスは何ですか?パスをGUIクラスのInputStreamオブジェクトに変換してから、このオブジェクトをパーサークラスに渡す必要がありますか、それともStringオブジェクトを渡して、パーサークラスにファイルの開閉操作を処理させる方がよいでしょうか。
同じクラスでファイル処理とエラー処理を行うと便利なように思われるため、2番目のオプションを選択しました。次に、nullを渡すか、何らかの障害が発生した場合に例外をスローします。GUI処理コードはそのまま冗長であり、GUIとユーザーアクションコードをコアロジックから分離したいと思います。
ただし、最初のオプションは、ファイル読み取りの例外を早期にキャッチできるため、優れています。したがって、クラスを「ジャンプダウン」する必要がなくなり、そこで例外をスローするだけです。
これに関する良い習慣は何ですか?このように、オブジェクトが処理される前に少し渡される状況はもっとあると思います。エラー処理は、「高レベル」クラスまたは「低レベル」コアクラスで行う必要がありますか?
基本的に、StringからInputStreamにすぐに変換する必要がありますか、それとも遅くする必要がありますか?