728x90
반응형

패턴 3

[java] 컴포지트(Composite) 패턴

컴포지트 패턴은 객체들을 트리 구조로 구성하여 개별 객체와 복합 객체(객체들의 그룹)를 동일한 방법으로 다룰 수 있게 하는 구조적인 디자인 패턴입니다. 이 패턴은 객체들 간의 계층 구조를 표현하고, 클라이언트가 개별 객체와 복합 객체를 구분하지 않고 사용할 수 있도록 합니다. 장점 일관된 인터페이스: 개별 객체와 복합 객체를 동일한 방식으로 처리할 수 있어 코드를 단순화하고 일관성을 유지합니다. 계층 구조: 객체들 간의 계층 구조를 표현하여 복잡한 관계를 간단하게 모델링할 수 있습니다. 재귀적 구조: 복합 객체 내에 다른 복합 객체를 포함할 수 있어 계층 구조를 재귀적으로 표현할 수 있습니다. 클라이언트 코드 간소화: 클라이언트 코드가 개별 객체와 복합 객체를 구분하지 않고 동일한 인터페이스로 처리할 수..

개발/자바 2024.01.12

[java] 어댑터(Adapter) 패턴

정의: 어댑터 패턴은 호환되지 않는 인터페이스를 가진 두 클래스를 함께 동작할 수 있도록 하는 디자인 패턴입니다. 쉽게 말해, 기존의 클래스를 수정하지 않고 새로운 인터페이스에 맞게 변환해주는 역할을 하는 패턴입니다. 장점: 재사용성 증가: 기존 클래스를 변경하지 않고 새로운 클래스에 적응시킬 수 있으므로 기존 코드를 재사용할 수 있습니다. 유연성 향상: 호환되지 않는 인터페이스를 갖는 클래스를 함께 사용할 수 있어서 시스템의 유연성을 향상시킵니다. 연동성 증가: 기존의 클래스를 새로운 클래스와 연동할 수 있게 해주어 기존 시스템을 새로운 기능과 연동시킬 수 있습니다. 단점: 성능 저하 가능성: 어댑터가 추가되면 성능 저하가 발생할 수 있습니다. 복잡성 증가: 어댑터 패턴이 과도하게 사용되면 코드의 복잡..

개발/자바 2024.01.11

디자인 패턴 정의 및 종류

디자인 패턴(Design Pattern)은 소프트웨어 디자인에서 자주 발생하는 문제에 대한 해결책을 일반적이고 재사용 가능한 형태로 정리한 것입니다. 이러한 패턴은 특정 맥락에서 자주 발생하는 설계 문제를 해결하기 위한 일종의 템플릿으로, 개발자들이 공통된 언어와 개념을 사용하여 소프트웨어를 구축할 수 있게 도와줍니다. 디자인 패턴은 주로 객체지향 프로그래밍에서 사용되며, 코드의 유지보수성을 향상시키고 재사용성을 높이는 목적으로 도입됩니다. 디자인 패턴은 크게 세 가지 유형으로 나뉩니다. 생성 패턴(Creational Patterns): 객체의 생성과 초기화에 관련된 패턴으로, 객체 생성을 추상화하고, 시스템이 어떻게 객체를 생성 및 조합할지에 대한 문제를 다룹니다. 구조 패턴(Structural Pat..

개발/자바 2024.01.09
728x90
반응형