공부공부

공부공부-230521

nayoon 2023. 5. 21. 23:58

Spring Event

https://wildeveloperetrain.tistory.com/217

 

 

스프링 이벤트를 사용하는 이유는 '의존성 줄이기를 위함'이라고 합니다..

 

 

팩토리 메소드 패턴

 

https://sun-22.tistory.com/84

 

장점

1. 객체 생성에 대한 명시적 선언이 가능하므로 코드를 보는 사람들의 이해도가 높아진다.

2. 호출할때마다 인스턴스를 새로 생성하지 않아도 된다. 싱글톤 패턴을 위해 사용된다.

3. 반환 타입의 하위 타입 객체를 반환할 수 있다.

4. 입력 매개변수의 개수에 따라 다른 클래스 객체를 반환할 수도 있다. (객체 생성 코드에 로직을 추가할 수도 있다는 것으로 이해..)

5. 정적 팩토리 메소드를 사용하는 시점에 반환할 클래스 객체가 존재하지 않아도 된다.

 

단점

1. 프로그래머가 찾기 어렵다. 따라서 널리 알려진 명명 규칙을 따르는게 좋다. 아님 API문서를 잘 쓰든가..!

2. 상속을 하려면 생성자가 필요한데, 정적 팩토리 메소드만 제공할 경우 하위 클래스를 만들 수 없다.

 

명명 방식

1. from

Event.from(instance)

매개변수를 하나 받아서 해당 타입의 인스턴스를 하나 반환한다.

 

2. of

Event.of(a, b, c, d)

매개변수를 여러개 받아서 해당 타입의 인스턴스를 하나 반환한다.

'공부공부' 카테고리의 다른 글

공부공부-230529  (1) 2023.05.29
공부공부-230528  (0) 2023.05.28
공부공부-230520  (1) 2023.05.20
공부공부-230518  (0) 2023.05.18
공부공부-230516  (0) 2023.05.16