設計モデルの向上


ソースコードのアップグレードが速いと言われていますが、ソースコードを見るには設計モードの基礎が必要です.そうしないと悲しくなります.そのため、私は良いデザインモデルの本を選んで、学習の中でいわゆるデザインのモデルを発見して、そんなに深いものではありませんて、ただ対象の多態性の技巧を利用して、その上上上上上上転換してほとんどありません.
今は本題に戻りますが、まず上への転換といえば、オブジェクトが自分のタイプとしても、そのベースタイプとしても使用できることを知っています.このようなオブジェクトへの参照をベースタイプの参照と見なす方法は、アップシフトと呼ばれます.
まず戦略モード(アルゴリズムのセットを定義し、各アルゴリズムをカプセル化し、彼らの間で交換できるようにする)についてお話しします.これは素晴らしい家庭で、老人の2人の息子は親孝行をしなければなりません.老人という息子を選んで一緒に生活しています.コードを見てみましょう.
まずインタフェースを定義します.これは父です.
	public interface Strategy{
	public void doSomething();
	}

実装クラスを2つ追加します.これは長男です.
public class ConcreteStrategy1 implements Strategy{
public void doSomething(){
 System.out.println("     ");
}
}

これは末っ子です
public class ConcreteStrategy2 implements Strategy{
 public void doSomething(){
System.out.println("     ");
 }
}

キャラを封入して、どの息子と过ごしたいのか、呼んでくれればいい.
public class Context{
private Strategy strategy=null;//         ,          ,     
public Context(Strategy _strategy){
this.strategy=_strategy;
}
public void doAnything(){
   strategy.doSomething();
}
}

ポイントが来た呼び出しを見て

public class Client{
public static void main(String[] args){
Strategy strategy =new ConcreteStrategy1();//   ,    ,     ,                 
Context context=new Context(strategy);
context.doAnything();
}
}

エージェントモード(このオブジェクトへのアクセスを制御するために他のオブジェクトにエージェントを提供する)を見ても、例が適切かどうかはわかりません.
テーマインタフェース、中央からファイルが来て、林を作ります
public interface Subject{
public void request();
}

真実のテーマ類、植樹労働者、植樹を担当する
public class RealSubject implements Subject {
public void  request(){
System.out.println("      ");
}
}

      
代理類、これは業績です.どうして私たちの役人が少なくなったのですか.私が指揮します.
public class Proxy implements Subject {
private Subject subject =null;//    
public proxy(Subject _subject ){//     ,    ,     
this.subject=_subject;
}
public void request(){//    ,       
subject.request();
}
}

シナリオクラス
public class Client{
public static void main(String[] args){
Subject subject=new RealSubject();//         ,            
//        ,        ,     
Proxy proxy=new Proxy(subject);//        
proxy.request();//        ,      , 
}
}

この2つのモードが少し似ていることに気づいていません.間違いなく、ポリシーモードにもエージェントがいますが、このエージェントはインタフェースを実現していません.
まず2つのモードについて話して、その他は後で言って、レンガを撮ることを歓迎して、ハ