✅네이버클라우드 캠프/개발일기

[네이버클라우드캠프] 68일차. Facade 패턴과 IOC 컨테이너, 애노테이션 활용

우동한그릇 2023. 7. 31. 17:40
반응형

* 53. Facade 패턴 적용

 

Client가 객체의 변화가 발생하더라도 영향을 받지 않고

앞단에서 Facade를 통해서 객체 인증이 이루어지기 때문에

ClientApp을 분리하여 관리를 용이하게 할 수 있다.

 


 

"Front Controller" 패턴 ?

"Front Controller" 패턴은 소프트웨어 디자인 패턴 중 하나로, 

웹 응용 프로그램과 같이 여러 요청을 처리해야 하는 경우 유용하게 사용된다. 

중앙 집중화된 컨트롤러를 사용하여 요청 처리를 단순화하고 

애플리케이션의 흐름을 통제하는데 도움이 된다.

 

즉 각각의 Listener 의 요청을 "DistpatcherListener" 이 중앙에서 관리하게 관리하게 된다.


 

관리기능을 ServerApp이 직접관리하는 것이 아니라,

DispatcherListener 에서 사용할 객체들을 직접 관리하는 것이다.

 


* 54. IOC 컨테이너 적용하기

 

IOC 컨테이너는 Bean Container + Dependency Injection 이다.

Bean이란 Java(커피) + Object(콩) 으로 , Obejct의 애칭이다.


* 주석

 

* 애노테이션 활용

 

 

 

//한 줄 주석 
//- 소스 코드의 설명을 붙일 때 사용
//- 컴파일 할 때 .class 파일에 포함되지 않음

/* 
여러 줄 주석
- 소스 코드에 여러 줄의 설명을 붙일 때 사용 
- 컴파일 할 때 .class 파일에 포함되지 않음
 */

/**
javadoc 주석
- javadoc.exe 를 통해 HTML API 문서를 생성할 때 사용됨.
- 컴파일 할 때 .class 파일에 포함되지 않음
 */


//애노테이션
//- 클래스 파일(.class)에 남길 수 있는 주석
//- 형식을 갖춘 주석이다.
//- 형식?
//    @애노테이션이름(프로퍼티=값, 프로퍼티=값) 
//- 활용
//  1) 소스 코드에서 주석을 읽어 다른 소스 파일을 생성할 때 사용
//  2) 컴파일할 때 주석을 추출하여 사용(컴파일러가 사용하는 내장 애노테이션)
//  2) 실행 중에 주석을 추출하여 사용
@MyAnnotation // 클래스 선언에 붙일 수 있다.
public class Exam0110 {

  @MyAnnotation // 필드에 붙일 수 있다.
  static int a;

  @MyAnnotation int b; // 필드 선언 바로 앞에 둘 수 있다.

  @MyAnnotation // 메서드 선언에 붙일 수 있다.
  void m1(
      @MyAnnotation 
      int p1, // 파라미터(로컬변수)에 붙일 수 있다. 

      @MyAnnotation String p2
      ) {

    @MyAnnotation int local; // 로컬변수 선언에 붙일 수 있다.

    //@MyAnnotation System.out.println("okok"); // 그러나 다른 일반 문장에는 붙일 수 없다.

    //@MyAnnotation // 다른 일반 문장에는 붙일 수 없다.
    for (int i = 0; i < 100; i++) {
      @MyAnnotation int a; // 로컬 변수 선언에 붙일 수 있다.
    }
  }

  @MyAnnotation  // static, non-static 상관없이 메서드 선언에 붙일 수 있다.
  static void m2() {

  }

 

 

 

반응형