[Java] 옵저버 패턴 (Observer pattern)
·
Java/Design Pattern
옵저버 패턴 (Observer pattern, 콜백 메서드)  - 한 객체의 상태가 변하면 그 객체에 의존하는 다른 객체들에게 통지되고, 자동으로 내용이 갱신됨  - 호출이 되면 돌아감  - 구현한 기능은 필요에 따라 가져와서 사용할 수 있게 됨   - 예시] Swing의 이벤트 리스너 : https://young0105.tistory.com/83  예제 코드1.  인터페이스 선언더보기12345public interface IButtonListener {     void clickEvent(String event);    }Colored by Color Scriptercs" dat..
[Java] 전략 패턴 (Strategy pattern)
·
Java/Design Pattern
전략 패턴 (Strategy pattern)  - 행위를 클래스로 캡슐화해서, 동적으로 행위를 자유롭게 변환할 수 있게 함  - '구조' 디자인 패턴  - Spring의 의존성 주입 (DI)을 전략 패턴을 이용해서 구현할 수 있음  절차1. 인터페이스 선언더보기12345public interface IEncoder {     String encode(String message);    }cs" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 2. 선언한 인터페이스의 구현 클래스 생성더보기123456789101112131415161718192021222324..
[Java] 싱글톤 패턴 (Singleton pattern)
·
Java/Design Pattern
#  관련 포스팅  - Static 키워드 : https://young0105.tistory.com/40 싱글톤 패턴 (Singleton pattern)  - 모든 프로그램을 통틀어서, 해당 클래스의 객체가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴  - '생성' 디자인 패턴  - static 키워드를 활용하여 구현 가능  - 코딩 컨벤션      : 싱글톤 패턴을 구현하기 위한 메서드 이름은 'getInstance'를 자주 사용함  - 한 번 생성되면, 어떤 java 파일에서든 동일한 객체 하나만 공유하며 사용하게 됨      → 항상 같은 객체임을 보장함 // 예시 //public class Company { // 1. 생성자를 private으로 선언함 private Compa..
[Java] 어댑터 패턴 (Adapter pattern)
·
Java/Design Pattern
어댑터 패턴 (Adapter pattern)  - 호환되지 않는 클래스들을 함께 이용할 수 있도록 타 클래스의 인터페이스를 기존 인터페이스에 덧씌움  - 기존의 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 생성함      ⇒ 인터페이스를 이용하면 코드를 좀 더 유연하게 설계할 수 있음 1234567891011121314151617// 어댑터 패턴 설정public class TencoAdapter implements Electronic220v {      // 호환시킬 인터페이스를 멤버 변수로 받음    Electronic110v electronic110v;         // 호환시킬 인터페이스를 생성자 매개변수로 받아서 멤버 변수 초기화    public TencoAdapte..
[Java] 디자인 패턴 정리
·
Java/Design Pattern
디자인 패턴  - 공통적으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴   - 장점      · 개발자 간에 원활한 소통 가능      · 소프트웨어 구조 파악 용이      · 재사용성 UP → 개발 시간 단축      · 설계 변경 요청에 대한 유연한 처리   - 단점      · 객체 지향 설계/구현에 대한 지식이 필요함      · 초기 투자 비용에 대한 부담  생성 패턴  - 객체를 생성하는 것과 관련된 패턴 #  싱글톤 패턴 (Singleton)  - https://young0105.tistory.com/186 #  빌더 패턴 (Builder)  - https://young0105.tistory.com/159 #  프로토타입 패턴 (Prototype)  - 원본 객체를 새로운 ..