java-design-pattern SOLID 원칙 전략 패턴(Starategy Pattern) 싱글톤 패턴(Singleton Pattern) 스테이트 패턴(State Pattern) 커맨드 패턴(Command Pattern) 옵저버 패턴(Observer Pattern) 데커레이터 패턴(Decorator Pattern) 템플릿 메서드 패턴(Template Method Pattern) 팩토리 메서드 패턴(Factory Method Pattern) 추상 팩토리 패턴(Abstract Factory Pattern)