public HttpStatus signup(MemberRequestDto memberRequestDto) {
isExistMember(memberRequestDto);
Member member = Member.builder()
.id(memberRequestDto.getId())
.userName(memberRequestDto.getUserName())
.password(passwordEncoder.encode(memberRequestDto.getPassword()))
.email(memberRequestDto.getEmail())
.build();
return HttpStatus.OK;
}전략 메서드를 가진 전략 객체
전략 객체를 사용하는 컨텍스트(전략 객체의 사용자, 소비자)
전략 객체를 생성해 컨텍스트에 주입하는 클라이언트

예제)
public interface Strategy {
public abstract void runStrategy();
}
public class StrategyBow implements Strategy{
@Override
public void runStrategy() {
System.out.println("슝슝슝~");
}
}
public class StrategyGun implements Strategy {
@Override
public void runStrategy() {
System.out.println("빵야 빵야~");
}
}
public class Soldier {
void runContext(Strategy strategy) {
System.out.println("전투시작");
strategy.runStrategy();
System.out.println("전투종료");
}
}
public class Client {
public static void main(String[] args) {
Strategy strategy = null;
Soldier soldier = new Soldier();
strategy = new StrategyGun();
soldier.runContext(strategy);
strategy = new StrategyBow();
soldier.runContext(strategy);
}
}
인스턴스를 하나만 만들기 위한 패턴
public class Singleton {
static Singleton singletonObject;//정적 참조변수
private Singleton() {
}
;//private 생성자
//객체반환 정적 메서드
public static Singleton getInstance() {
if (singletonObject == null) {
singletonObject = new Singleton();
}
return singletonObject;
}
}