例えば以下のようなクラスの階層構造があったとします。
フォルダクラス-テキストファイルクラス-行クラス-文字クラス
その上で〇〇フォルダのXXテキストの三行目の二文字目の文字を変えるor追加するとなったとき、どう文字データを渡すのが良いのかで悩んでいます。
フォルダクラスから下の階層に文字データを渡すのは階層ごとにデータを渡すメソッドを作る必要があるのでイマイチかと思ってます。
かと言ってフォルダクラスから文字データクラスを取得して編集するのも同様に階層ごとにメソッドを作る必要があるし、フォルダクラスは文字クラスを知らなくていいのに受け渡す過程で知ってしまい、イマイチな気がします。
このような場合、どう末端にデータを渡すのが良いかアドバイスがあればお聞きしたいです。
そもそも階層化しない方がいいのかなと考えましたが、そうすると文字クラスに
フォルダid、テキストファイルid、行index、文字データを持たせることになるのかなと考え、それはそれでテキストファイルが増えるほど管理しづらいかなと思いました。
言われているような感じだと、1階層下のクラスを公開するような形になるのではないですかね
下位クラスを使用する側が知らないのであれば、親クラスで書き換えを行うようなメソッド等を作るしかないのではないでしょうか
ご回答ありがとうございます。
そうですよね。やはり下のクラスを公開したくないのであれば、親からそこまでの階層にデータを受け渡すしかないですよね。。
ただ、例に挙げられているものだと
Text = Folder.Files[0].Lines[0];
みたいな感じでもいいのではないかと感じ、下の階層を非公開にしなくてもいいのではないかと思えてしまいます。
>フォルダid、テキストファイルid、行index、文字データを持たせることになるのかなと考え
TreeのNodeみたいな感じで各クラスは自分の親、子を把握していればいいのではないでしょうか?
たしかにそうですね。難しく考えすぎていたようです。
回答2件
あなたの回答
tips
プレビュー