[javasterdi]7Javaベース(6)


Javaコード練習


役割、責任、協力(対象に向かう事実と誤解)->最も重要なのは情報です


協力する


|アプリケーション機能を実現するためのオブジェクトのインタラクション
  • の2つのオブジェクト間のコラボレーションは、1つのオブジェクトが別のオブジェクトに助けを求めることから始まる.
  • メッセージ送信は、オブジェクト間の連携に使用可能な唯一の通信ツール
  • である.
  • オブジェクト要求オブジェクト、
  • は内部実装をカプセル化して自主的に実現する
  • 件のメッセージ要求コラボレーションを送信し、メッセージを受信したオブジェクトは、ヘルプが必要なときに
  • の処理を要求する.
  • オブジェクト間のコラボレーションは、要求と応答によって機能
  • を実現する.

    n/a.責任


    |オブジェクトがコラボレーションに関与する行為
  • は大きく分けて「する」と「知る」
  • したこと


    |私の役割
    - 객체를 생성하거나 계산 수행하는 등의 스스로 하는것
    - 다른 객체의 행동을 시작시키는 것
    - 다른 객체의 활동을 제어하고 조절하는 것

    知るところ


    |私が手伝う相手を知る
    - 사적인 정보에 관해 아는것
    - 관련된 객체에 관해 아는것
    - 자신이 유도하거나 계산할 수 있는 것에 관해 아는것

    ロール#ロール#


    |コラボレーションにおけるオブジェクトの役割の集合
  • は、他のオブジェクト
  • をコラボレーションで置き換えることができることを示す.
  • ロールの代わりに、各ロールは受信可能なメッセージを同じ方法で理解する必要があります:
  • は、同じ役割を実行することができ、これは、これらのオブジェクトがコラボレーションにおいて同じ責任のセット
  • を実行することができることを意味する.
  • は、オブジェクト向けの設計のシンプルさ、柔軟性、再利用性をサポートする
  • VO(value object)


    |値を表すオブジェクト、データを含むオブジェクトを表す
  • は、読み取り専用属性
  • を有する.
  • は読み取り専用であるためgetterのみが
  • 存在する.
    VOが利用可能:
    public class AccountVo {
    	private String id;
    	private String pw;
    	
    	
    	public String getId() {
    		return this.id;
    	}
    	
    	public String getPw() {
    		return this.pw;
    	}
    	
    }

    VO優勢

  • データを伝達する最も有効な方法
  • 毒性とメンテナンスの面で良好
  • ネットワークトラフィックを低減する
  • VO欠点

  • クラス宣言には大量のコードが必要です
  • ファイル数の増加に伴い、管理が困難になる