스터디/디자인패턴5 [design-pattern]디자인패턴 브릿지패턴의 이해와 의미 브리지는 큰 클래스 또는 밀접하게 관련된 클래스들의 집합을 두 개의 개별 계층구조(추상화 및 구현)로 나눈 후 각각 독립적으로 개발할 수 있도록 하는 구조 디자인 패턴입니다. 문제 추상화? 구현? 어렵게 들리시나요? 진정하세요. 그리고 간단한 예시를 한번 살펴봅시다. Circle(원) 및 Square(직사각형)라는 한 쌍의 자식 클래스들이 있는 기하학적 Shape(모양) 클래스가 있다고 가정해 봅시다. 이 클래스 계층 구조를 확장하여 색상을 도입하기 위해 Red(빨간색) 및 Blue(파란색) 모양들의 자식 클래스들을 만들 계획입니다. 그러나 이미 두 개의 자식 클래스가 있으므로 BlueCircle(파란색 원) 및 RedSquare(빨간색 직사각형)와 같은 네 가지의 클래스 조합을 .. 2023. 1. 1. [design-pattern] 어댑터 패턴의 이해(Adapter Pattern) 프로그램을 작성하다보면 기존에 만들어놓은 클래스와 유사한 경우가 있다. 하지만 그 클래스를 재사용하고 싶어도 조금이라도 수정하지 않고 사용하기란 어려울 것이다. adapter 패턴은 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다. 즉 호환성이 없는 기존 클래스의 인터페이스를 변환해 재사용할 수 있도록 해준다. adapter 패턴은 다음 두 가지 형태로 사용된다. [네이버 지식백과] adapter 패턴 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 김치수) • 클래스 adapter 패턴 : 상속을 이용한 어댑터 패턴 • 인스턴스 adapter 패턴 : 위임을 이용한 어댑터 패턴 문제 주식 시장 모니터링 앱을 만들고 있다고 상상해 보십시오. 이 앱은 XML 형식의 여러 소스에서.. 2022. 12. 18. [design-pattern][디자인패턴]추상 팩토리 패턴(Abstract Factory Pattern)이란? 추상 팩토리 는 구체적인 클래스를 지정하지 않고 관련 객체의 패밀리를 생성할 수 있는 생성 디자인 패턴입니다. 문제 가구점 시뮬레이터를 만들고 있다고 상상해 보십시오. 코드는 다음을 나타내는 클래스로 구성됩니다. 관련 제품군, 예: Chair+ Sofa+ CoffeeTable. 이 가족의 여러 변종. 예를 들어 제품 Chair+ Sofa+ 는 , , CoffeeTable와 같은 변형에서 사용할 수 있습니다 .ModernVictorianArtDeco 제품군 및 변형. 동일한 패밀리의 다른 개체와 일치하도록 개별 가구 개체를 만드는 방법이 필요합니다. 고객은 일치하지 않는 가구를 받으면 상당히 화를 냅니다. 모던 스타일의 소파는 빅토리아 스타일의 의자와 어울리지 않습니다. 또한 새 제품이나 제품군을 프로그램.. 2022. 11. 28. [design-pattern][디자인패턴] 프로토타입 패턴(Prototype Pattern)이란? 프로토타입 은 코드를 해당 클래스에 의존하지 않고 기존 개체를 복사할 수 있는 생성 디자인 패턴입니다. 개체가 있고 개체의 정확한 복사본을 만들고 싶다고 가정합니다. 어떻게 하시겠습니까? 먼저 동일한 클래스의 새 개체를 만들어야 합니다. 그런 다음 원래 개체의 모든 필드를 살펴보고 해당 값을 새 개체에 복사해야 합니다. 멋진! 하지만 문제가 있습니다. 개체의 필드 중 일부는 개인용이고 개체 외부에서 볼 수 없기 때문에 모든 개체를 그런 방식으로 복사할 수 있는 것은 아닙니다. "외부에서" 개체를 복사하는 것이 항상 가능한 것은 아닙니다 . 직접 접근 방식에는 문제가 하나 더 있습니다. 복제본을 만들려면 개체의 클래스를 알아야 하므로 코드는 해당 클래스에 종속됩니다. 추가 종속성이 두렵지 않다면 또 다른 .. 2022. 11. 28. 이전 1 2 다음