TIL


2021.03.22


ばね183~ディジタルロジック回路

オブジェクト向け設計5原則-OLID


OCP-オープンクローズの原則

  • 自身の拡張は開放的であり、周囲の変化は閉鎖的であるべきである.
  • オープンクローズの原則を守れば、柔軟性、再利用性、メンテナンス性などが得られます.
  • オープンクローズの原則を守らない

  • 開放閉鎖の原則を遵守する
  • LSP-リスコフ交換原則

  • サブクラスのインスタンスは、親オブジェクト参照変数で親インスタンスの逆操作を行う必要があります.
  • 子クラスは、親-子クラスが親の1つです.
  • 実装クラス可能インターフェース−実装クラス可能インターフェース.
  • リスコフ置換原則違反事例
  • リスコフ置換原則適用例
  • ISPインタフェース分離の原則

  • クライアントは、自分が使用しない方法に依存することはできません.
  • インタフェースを介してメソッドを外部に提供する場合、最大
  • のメソッドしか提供できません.
  • 単一責任原則(SRP)とインタフェース分割原則(ISP)は同じ問題を解決した.
  • DIP依存逆転の原則

  • 自分より変えやすいものに頼って、抽象的なインタフェースやより高いレベルを持っていて、変えやすいものの影響を受けないようにしています.
  • より高いクラスであればあるほど、インタフェースであればあるほど抽象クラスであればあるほど、不変のままである可能性があるため、サブクラスや特定のクラスではなく親クラス、インタフェース、抽象クラスを介して依存する
  • スプリング三角形と設定について

  • スプリングを理解するには、3つのプログラミングモデル、すなわち、配置オブジェクトに基づくスプリング三角形(IOC/DI)、AOP、およびPSAを理解する必要がある.
  • プログラミングでは、依存性は何ですか?

  • javaでの依存性
  • 運転手は自動車を生産します->新しいカード();
    自動車内部生産タイヤ->Carオブジェクトジェネレータのnew Tire()
  • はnewに依存し、newを実行するCarとTireの間でCarはTireに依存する.
  • 結論
  • 全て依存部
  • プログラミングでは,依存関係は新しいものとして表現される.
  • 2つの依存オブジェクト間の直接依存性を解決するコード

    package com.heaven.mvc.expert001_01;
    
    public interface Tire {
    	String getBrand();
    }
    
    package com.heaven.mvc.expert001_01;
    
    public class KoreaTire implements Tire{
    
    	@Override
    	public String getBrand() {
    		return "코리아 타이어";
    	}
    	
    }
    
    package com.heaven.mvc.expert001_01;
    
    public class AmericaTire implements Tire{
    
    	@Override
    	public String getBrand() {
    		return "미국 타이어";
    	}
    
    }
    
    package com.heaven.mvc.expert001_01;
    
    public class Car {
    	Tire tire;
    	
    	public Car() {
    		tire = new KoreaTire(); //의존 관계 발생!!
    		//tire = new AmericaTire();
    	}
    	
    	public String getTireBrand() {
    		return "장착된 타이어: "+tire.getBrand();
    	}
    }
    
    package com.heaven.mvc.expert001_01;
    
    public class Driver {
    	public static void main(String[] args) {
    		Car car = new Car();
    		
    		System.out.println(car.getTireBrand());
    	}
    }
    
  • 自動車はタイヤに頼っている.
  • 運転手使用自動車=運転手依存自動車
  • 自動車のジェネレータコードでは、タイヤのプロパティに新しいタイヤが作成され、参考になります.