일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @MockBean
- NotBlank
- FCM
- deleteById
- Web
- Effetive Java
- Proxy Patter
- SQL 삽입 공격
- Effective Java
- 데이터베이스
- Spring Boot
- @ControllerAdvice
- Item04
- db
- java
- multi module
- Connection Pool
- restTemplate
- 플라이웨이트
- @SpyBean
- Firebase
- Service Locator 패턴
- springboot
- 디자인 패턴
- 이펙티브 자바
- @Valid
- 트랜잭션
- Service Locator
- JPA
- NotEmpty
- Today
- Total
목록디자인 패턴 (4)
NoTimeForDawdling
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cUnnRp/btq72iGpDKX/k2u7CSAqMkE30r5cZEQSXk/img.png)
어댑터 패턴이란? 어댑터 패턴은 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있도록 도와주는 패턴이다. 즉, 어댑터를 이용해 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환시켜 호환성 문제를 해결한다. 예를 들어, 갤럭시 핸드폰을 충전해야 하는데 현재 아이폰 충전기밖에 없다면 어댑터를 사용해서 아이폰 충전기로도 갤럭시 핸드폰을 충전할 수 있다. 여기서의 어댑터는 핸드폰을 충전할 때 필요한 인터페이스를 각각의 타입이 필요로 하는 인터페이스로 바꿔준다고 할 수 있다. 코드 예제 현재 GalaxyPhone을 사용하고 있다고 가정해보자. 핸드폰을 충전하기 위해 charging()메서드를 호출하는데, 이 처리는 PhoneCharger인터페이스를 구현한 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bhHF6T/btq64Saao66/4e91cmDExRru9KKxzQW2b0/img.png)
프록시 패턴(Proxy Patter) 이란? 어떤 객체를 사용하고자 할 때, 객체를 직접적으로 참조하는 것이 아니라, 그 객체를 대행(대리, proxy)하는 객체를 통해 대상 객체에 접근하는 방식을 말한다. 즉, 실제 기능을 수행하는 객체(Real Object)대신 가상의 객체(Proxy Object)를 사용해 로직의 흐름을 제어하는 디자인 패턴이다. 프록시 패턴 특징 및 장점 실제 대상 객체가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있다. 실제 객체의 기능이 반드시 필요한 시점까지 객체의 생성을 미룰 수 있다. 프록시 객체와 실제 객체는 같은 인터페이스를 구현하여 프록시 객체는 실제 객체와 치환이 가능하다. 사용자 입장에서는 프록시 객체와 실제 객체의 사용법이 유사하므로 사용성이..
플라이웨이트 패턴이란? 플라이웨이트 패턴은 구조 패턴 중 하나로, 많은 수의 객체를 생성해야 할 때 사용하는 패턴입니다. 플라이웨이트 패턴을 사용하면 객체의 내부에서 참조하는 객체를 직접 만드는 것이 아니라, 없다면 만들고, 만들어져 있다면 객체를 공유하는 식으로 객체를 구성합니다. 보통 팩토리 메서드 패턴을 사용해 객체(FlyweightFlyweight 객체)를 생성하며, 이때 생성하는 객체가 내부적으로 참조하는 객체에 대해, 기존에 있는 객체를 참조만 하는 식으로 객체를 구성하기 때문에 객체의 할당에 사용되는 메모리를 줄일 수 있을 뿐 아니라, 객체를 생성하는 시간도 들지 않게 됩니다. 플라이웨이트 패턴을 언제 적용하면 좋을까? 플라이웨이트 패턴은 다음과 같은 상황이 많을수록 적용하기에 적합합니다. ..
Service Locator 패턴이란? Service Locator는 의존성을 해결할 객체들을 보관하는 일종의 저장소입니다. 외부에서 객체에게 의존성을 전달하는 주입과 달리 Service Locator에게 직접 의존성을 해결해줄 것을 요청합니다. 영화 예매 코드 예제 ServiceLocator.class public class ServiceLocator{ private static ServiceLocator saleInstance = new ServiceLocator(); private DiscountPolicy discountPolicy; public static DiscountPolicy discountPolicy() { //인스턴스를 반환하기 위한 메서드 return saleInstance.disc..