クリーンアーキテクチャ1週目


現在退職している会社라이픽が勉強を始めました.CLINアーキテクチャに関する1週間の研究概要をブログに記録したいと思います.
学習範囲3枚~6枚
合計7名の参加者
@LIAM @BRANDON @CHRIS @LEO @PARKER @ODIN @BUZZ

第3章-例の概要

  • 構造/オブジェクト向け/関数プログラミング1958年から10年間、新しいパターンがない
  • 各例には、ルール(goto文、関数ポインタ、付与文):
  • があります.

    第4章-構造化プログラミング

  • すべてのプログラムは、「順序」、「分岐」、および「反復」の3つの構造として表すことができる:
  • デックストラ→테스트는 버그가 있음을 보여줄 뿐, 버그가 없음을 보여줄 수는 없다なぜ
  • をテストするのですか?
  • 私たちが開発したコードは完璧だと断定できますか?ただ、無数のテストで表示されたエラーはありません.

    第5章-オブジェクト向けプログラミング

  • オブジェクト向け(Object-Oriented)は、以下の概念を組み合わせまたはサポートするものと呼ぶことができる.
  • カプセル化
  • の外部では、特定のデータが隠され、露出される.( Private, Public )
  • 継承
  • 継承とは、ある変数と関数を1つの有効範囲内で再定義すること、すなわち
  • を指す.
  • 多形性
  • プラグイン形式、相互依存なし
  • 依存性逆転、独立配置ユニット
  • サンプルコード説明はJava言語ではなく解析できません

    第6章-関数式プログラミング


  • 関数プログラミングでは可変変数は許可されず、初期化されると絶対に変更されません.

  • これは可変ですか?
    private void main(){
    	List<String> list = new ArrayList<>(){{
    		add("test1");
    	}};
    	call1(list);
    
    	System.out.println(list);
    
    	// result
    	// ["test1", "test2"]
    }
    
    private void call1(List<String> list) {
    	list.add("test2");
    }
    
    // 입출력
    private List<String> call12(List<String> list) {
    	list.add("test2");
      return list;
    }
    

  • 不変性の場合、最も主要な妥協の1つは、サービスを可変要素と不変要素に分離することである.

  • 非イベント購買→ステータス取引を格納するポリシー
  • コンピュータプログラミングには、順序、ブランチ、繰り返し、参照終了が含まれます.