他の方法で使用されていても公開されていないような、滑らかさの属性を持つPotatoクラス(およびインスタンス)があるとします。この属性は、インスタンスの作成時に設定され、インスタンスの内部でのみ使用されます。デザインパターン:プライベートメンバーを保存
また、私のシステムはいくつかのデータベースドライバをサポートする必要があります。したがって、私は現時点で使用したいドライバを使用するクラスでインスタンス化される "databse adapter"というインタフェースを持っています。
今問題が発生します。オブジェクト(ポテト)を永続化してデータベースに保存する必要があるため、データベースアダプタクラスを使用してジャガイモの滑らかさを保存する必要がありますが、プライベートです! ジャガイモの滑らかさを他の目的のために利用できないようにするには、どうすればいいですか?事前
smoothness属性はどのようにして決定されますか?それが他のプロパティから派生している場合、それを格納する必要はありません。そうでない場合、それはどこから来るのですか? – mellamokb
アクセサを実装 – zerkms
プライベートセッターの使用について考えましたか?このようにして、インスタンスの外側の誰かによって滑らかさを設定することはできませんが、取り出すことができます。データベースアダプタを含むどのクラスも、この値を読み取ってデータベースに書き込む必要があります。 –