Design Pattern6 Java Service Tree Framework 의 옵서버(Observer) 패턴 설명 ( DWR ) 옵서버(Observer) 패턴은 객체 사이에 일대다 의존성을 정의하는 패턴입니다. 이 패턴은 한 객체의 상태가 변경되면 그 객체에 의존하는 다른 객체들에게 자동으로 알림을 보내 업데이트를 수행할 수 있게 합니다. 자바 코드를 통해 옵서버 패턴의 예시를 살펴보겠습니다. 가정해보겠습니다. 우리는 주식 시장에서 주식 가격의 변화를 추적하는 프로그램을 개발하고 있습니다. 주식 가격은 변동이 있을 때마다 다른 객체들에게 알림을 보내어 업데이트를 수행하고자 합니다. 옵서버 패턴을 사용하여 이를 구현해보겠습니다. 먼저, 주식 가격 변동을 추적할 주체인 Subject 인터페이스를 정의합니다: public interface Subject { void registerObserver(Observer observer); vo.. 2023. 6. 29. Java Service Tree Framework 의 데코레이터(Decorator) 패턴 설명 ( 동적 테이블 :: Hibernate :: empty interceptor ) 데코레이터(Decorator) 패턴은 객체의 기능을 동적으로 확장할 수 있는 패턴입니다. 이 패턴은 객체를 감싸는 데코레이터 클래스를 통해 기능을 추가하거나 수정할 수 있으며, 원본 객체의 인터페이스를 유지합니다. 자바 코드를 통해 데코레이터 패턴의 예시를 살펴보겠습니다. 가정해보겠습니다. 우리는 커피(Coffee)를 만들고 있으며, 다양한 종류의 커피에 여러 가지 토핑(Topping)을 추가할 수 있습니다. 데코레이터 패턴을 사용하여 커피에 토핑을 추가하는 예시를 만들어보겠습니다. 먼저, 커피를 나타내는 Coffee 인터페이스를 정의합니다: public interface Coffee { String getDescription(); double getCost(); } 다음으로, 커피의 구체적인 종류를 구.. 2023. 6. 29. Java Service Tree Framework 의 컴퍼지트(Composite) 패턴 설명 ( Tree Entity 의 1:N, N:1, N:N, 양방향, 단방향 ) 컴퍼지트(Composite) 패턴은 객체들을 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴입니다. 이 패턴은 개별 객체와 그 객체들을 조합한 복합 객체를 동일한 방식으로 다룰 수 있도록 해줍니다. 자바 코드를 통해 컴퍼지트 패턴의 예시를 살펴보겠습니다. 가정해보겠습니다. 우리는 조직 구조를 표현하는 프로그램을 개발하고 있습니다. 조직은 부서(Department)와 직원(Employee)으로 구성되어 있습니다. 부서는 여러 개의 부서와 직원을 가질 수 있습니다. 컴퍼지트 패턴을 사용하여 조직 구조를 표현해보겠습니다. 먼저, 조직 구성원을 나타내는 Component 인터페이스를 정의합니다: public interface Component { void showDetails(); } 다음으로, 부서(De.. 2023. 6. 29. Engine에서 타입이 다른 인터페이스를 연결할 : 어댑터(Adapter) 패턴 ( SA,AA - DBA 및 K8S 타입 처리 ) 어댑터(Adapter) 패턴은 한 클래스의 인터페이스를 클라이언트가 기대하는 다른 인터페이스로 변환하는 패턴입니다. 이 패턴은 호환되지 않는 인터페이스를 가진 두 개의 클래스를 함께 작동할 수 있게 만들어줍니다. 자바 코드를 통해 어댑터 패턴의 예시를 살펴보겠습니다. 가정해보겠습니다. 우리는 소켓(Socket) 클래스를 사용하여 전기를 공급받는 기기를 제어하고 있습니다. 하지만 우리가 사용하려는 기기는 USB(Universal Serial Bus) 인터페이스를 사용합니다. 어댑터 패턴을 사용하여 소켓 클래스와 USB 기기를 함께 작동할 수 있도록 해보겠습니다. 먼저, 우리가 사용하려는 USB 기기를 나타내는 USBDevice 인터페이스를 정의합니다: public interface USBDevice { v.. 2023. 6. 29. Engine 에서 구현되어야 할 팩토리 메서드(Factory Method) 패턴 ( 타입별로 객체 생성 방식 ) 팩토리 메서드(Factory Method) 패턴은 객체 생성을 처리하기 위한 디자인 패턴 중 하나입니다. 이 패턴은 객체 생성을 서브 클래스에 위임하여 객체 생성 과정을 캡슐화하는 방법을 제공합니다. 이를 통해 클라이언트 코드는 객체 생성의 구체적인 세부 사항에 대해 알 필요 없이 객체를 생성할 수 있습니다. 팩토리 메서드 패턴의 핵심 아이디어는 객체 생성을 처리하는 인터페이스를 정의하고, 이를 서브 클래스가 구현하는 것입니다. 이 인터페이스를 통해 객체 생성을 요청하면, 서브 클래스에서 실제적인 객체 생성과 초기화 과정을 수행합니다. 이를 통해 객체 생성의 세부 사항은 서브 클래스로 숨겨지고, 클라이언트 코드는 단순히 인터페이스를 사용하여 객체를 생성할 수 있습니다. 팩토리 메서드 패턴은 다음과 같은 .. 2023. 6. 29. Java Service Tree Framework 의 템플릿 메서드 패턴 설명 ( Tree Abstract Super Class ) 템플릿 메서드 패턴은 객체지향 프로그래밍에서 사용되는 디자인 패턴 중 하나로, 알고리즘의 구조를 정의하는데 사용됩니다. 이 패턴은 알고리즘의 일부분을 서브클래스로 위임하여 구체화하고, 전체 알고리즘의 구조는 유지한 채 서브클래스에서 구체화된 부분을 변경할 수 있도록 합니다. 이를 통해 코드의 재사용성과 확장성을 높일 수 있습니다. 템플릿 메서드 패턴은 다음과 같은 구성 요소로 이루어져 있습니다 AbstractClass(추상 클래스): 알고리즘의 구조를 정의하는 추상 클래스입니다. 템플릿 메서드를 포함하며, 이 메서드는 알고리즘의 일련의 단계를 정의합니다. 추상 메서드 또는 구현된 메서드를 사용하여 알고리즘의 각 단계를 정의합니다. ConcreteClass(구체 클래스): 추상 클래스를 상속받아 구현된 클.. 2023. 6. 29. 이전 1 다음