일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Optimistic Lock
- Transaction isolation level
- spring security
- JPA 비관적락
- 캠프
- 디자인 패턴
- 낙관적락 비관적락 차이
- Android
- 스프링
- spring
- 개발
- 스프링 로그
- JPA 낙관적락
- 스프링 log
- 서버
- 서버개발캠프
- 스마일게이트
- JPA 동시성
- spring security 인증
- Pessimistic Lock
- 안드로이드
- JPA Lock
- annotation
- component
- JPA
- bean
- Redis
- 암호화
- Inno DB
- flask
- Today
- Total
목록디자인 패턴 (3)
모르는게 많은 개발자

1. 옵저버 패턴 옵저버 패턴은 객체의 상태 변화를 관찰하는 관찰자들(Observer) 목록을 '이벤트를 발생시키는 이벤트 객체'에 등록하여 이벤트가 발생할 때마다 메소드를 통해 관찰자들(Observer) 객체들에게 알려주어 그에 맞게 행위를 하는 디자인 패턴이다. 아래 UML 다이어그램을 보자 Observer라는 인터페이스에는 notify()라는 함수가 정의되있다. notify()는 이벤트가 발생했을 때 처리할 행위를 정의한다. Subject(이벤트 발생 객체)에는 observerCollection이 존재하는데 여기에 Observer객체들이 저장된다. 그리고 notifyObservers()는 Observer 객체들의 목록들의 notify()를 실행해 이벤트 발생에 따른 처리를 각 Observer에게 전..
1. 빌더 패턴 빌더 패턴은 객체를 생성할 때 흔하게 사용하는 패턴이다. 아래와 같은 방식으로 객체가 생성되면 Builder Pattern을 활용한 것이다. Person person = Person.builder() .name("a") .age(13) .build(); 빌더 패턴은 흔히 생성자 인자 많을 때 고려된다. 빌더 패턴 구현 예제를 보기전에 객체를 만드는 패턴 두가지를 알아보자. 2. 점층적 생성자 패턴 점층적 생성자 패턴은 내가 사용할 인자를 받는 생성자를 모두 만드는 것이다. 예를 들어 아래 코드처럼 a만 인자로 받는 생성자가 필요할 수도 있고, a, b, c, d를 모두 받는 생성자가 필요한 등 내가 사용할 생성자들을 모두 만들어서 사용하는 패턴이다. class Person { String..
1. 싱글톤 패턴 싱글톤 패턴이란 클래스의 인스턴스를 하나만 생성하여 사용하는 패턴이다. 주로 특정 객체를 여러곳에서 공유해야 할 때 사용한다.(Ex: DB Conntection pool) 싱글톤 패턴을 이용함으로써 메모리에 인스턴스 하나를 등록해 여러 쓰레드에서 동시에 하나의 객체를 이용할 수 있게 할 수 있다. 이것으로 인해 주의할 점은 여러곳에서 동시에 접근해서 생길 수 있는 문제(동기화 문제)를 잘 파악하고 설계해야한다. 싱글톤 패턴을 만들땐 기본적으로 생성자를 private로 해서 외부에서는 직접 인스턴스를 생성할 수 없게 하고, 사용자에게 인스턴스를 전달하는 static 메소드가 있다. 아래 예제를 보자. 아래 예제를 보면 객체는 오로지 getInstance()를 통해서만 생성되거나 얻을 수 ..