第6章対象とデータ構造
タスクから整理した内容をブログに移動したので、タスクから見ると便利です。🤗
移動→Junkk's Notion
変数を非公開(private)と定義する理由→変数に依存させたくない
では、なぜプログラマーはget、set関数を公開し、非公開変数を外部に露出するのでしょうか.
データ抽象
例)特定のポイントクラスと抽象的なポイントクラス(p 118)
特定のポイントクラス
直線座標系の使用
座標値の個別読み取りと設定を強制
現れる.変数をprivateとして宣言しても、各値がget関数とset関数を提供する場合、つまり実装が外部に露出します.
抽象ポイントクラス
データ構造異常
クラスメソッド強制アクセスポリシー
座標を読み込む場合は、各値を個別に読み込む必要があります.
座標を設定するとき、2つの値を同時に設定します.
実装を隠すために抽象化する必要がある.
抽象的なインタフェースを提供し、ユーザーが実施を知らずに資料の核心を操作できるようにするのが本当のクラスです.
資料/オブジェクト非対称
ディミットの法則
ディミットの法則:モジュールは自分が操作した対象の内幕を知らなければならない.
→クラスCのメソッドfは、以下のオブジェクトのみを呼び出すメソッド
Cクラス
f作成されたオブジェクト
fインポートされたオブジェクト
Cインスタンス変数に格納されているオブジェクト
上記のオブジェクトでメソッドが返すことを許可するオブジェクトを呼び出すことができないメソッド
列車が衝突する
final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();
위와 같은 구조의 코드를 기차 충돌이라고 하고 피하는 것이 좋다
ヘテロ構造
:半分はオブジェクト、半分はデータ構造
Xの使用
構造体を隠す
オブジェクトの場合は、内部構造を非表示にする必要があります.
例)p 125
データ転送オブジェクト
データ構造体の典型的な形式は、公開変数のみで関数のないクラスである.→支払転送対象(DTO)ともいう
→ソケットから受信したメールをデータベースと通信したり分析したりするときに便利
→データベースに格納されている未加工情報をアプリケーションコードで使用するオブジェクトに変換する一連のステップで最初に使用するコード.
典型的な形式はbean空構造である
→クエリー/設定関数を使用して専用変数を操作します.
→似て非なるカプセル化であり、異なる利益をもたらすX
アクティビティレコード
:DTOの特殊な形式
共通変数または専用変数を持つクエリー/設定関数を持つデータ構造ですが、saveやfindなどのナビゲーション関数も通常提供されます.
アクティビティレコードは、デバイステーブルまたは他のソースから直接資料を変換した結果です.
◆資料構造!
→ビジネス・ルールが含まれ、内部情報が非表示のオブジェクトを作成します.(内部資料は活動記録例の確率↑
n/a.結論
→第7章エラー処理
Reference
この問題について(第6章対象とデータ構造), 我々は、より多くの情報をここで見つけました https://velog.io/@junnkk/6장-객체와-자료-구조テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol