본문 바로가기
반응형

하얀해킹98

[소프트웨어 분석 및 설계] L18. Composite Pattern, Decorator Pattern Composite PatternComposite Pattern (복합체 패턴) 이란?전체-부분 관계의 트리 구조로 표현되는 객체들을 단일 객체처럼 취급할 수 있게 해주는 구조 패턴단일 객체와 복합 객체를 동일한 인터페이스를 사용하여 처리하기 위함단일 객체는 Leaf 라고 하고, 단일 객체들의 그룹인 복합 객체는 Composite 이라고 함복합체 패턴이 필요한 상황 예시주문 시스템에서 여러 상품을 담은 상자의 가격을 계산하려고 할 때한 box 에 여러 products 와 좀 더 작은 box 들을 담을 수 있음작은 box 들 역시 여러 products 를 담을 수 있다고 있음상자의 가격을 계산하기 위해서는 내부 제품을 모두 살펴보면서 가격을 합산해야 함트리 전체 순회를 하면서 box 와 product 의 t.. 2024. 12. 13.
[소프트웨어 분석 및 설계] L17. Adapter Pattern, Bridge Pattern Adapter Pattern어댑터 패턴이란?호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들을 어댑터를 통해 함께 작동할 수 있도록 변환해주는 구조 패턴이미 구축되어 있는 것을 새로운 어떤 것에 사용하려고 할 때 양 쪽 간의 호환성을 유지해주기 위해 사용어댑터 패턴이 필요한 상황 예시주식 시장 모니터링 앱을 만드는데 여러 소스에서 주식 데이터를 XML 형식으로 다운로드 해서 보여준다고 가정어느 시점에 타사의 스마트 분석 라이브러리를 통합하여 개선하려고 했는데 이 라이브러리가 JSON 형식으로 입력을 받음이런 경우 XML 에서 JSON 으로 포맷을 변경해주는 어댑터를 만들어주면 서로 연동 가능해짐어댑터를 통해서만 분석 라이브러리와 통신하도록 함어댑터 패턴의 구조 (객체 어댑터 구조)어댑터 패턴.. 2024. 12. 13.
[소프트웨어 분석 및 설계] L16. Abstract Factory Pattern, Builder Pattern, Prototype Pattern Abstract Factory Pattern추상 팩토리 패턴이란?연관 있는 여러 객체 (제품) 군 (family) 의 생성을 추상화 한 생성 패턴팩토리 메소드 패턴은 단일 객체 (제품) 의 생성을 추상화 한 것이라면, 추상 팩토리 패턴은 관련이 있는 여러 객체 (제품) 들의 일관된 생성을 추상화한 것연관 있는 제품 군의 예시{Chair, Sofa, CoffeeTable} 에 대해 스타일 별로 각 제품을 일관되게 생성 해야 함추상 팩토리 패턴새로운 스타일의 제품 군이 추가되더라도 기존의 코드를 바꾸지 않고 추가할 수 있어야 함제품 별로 인터페이스를 추상화 하고, 모든 추상 제품에 대한 생성 메소드를 가지는 팩토리로 추상화각 서브 팩토리에서는 스타일에 연관된 제품군이 생성될 수 있도록 생성 메소드를 구현추상.. 2024. 12. 13.
[소프트웨어 분석 및 설계] L15. Factory Method (팩토리 메소드) 더보기목차Factory Method PatternEnum Factory Method Pattern 예상 문제XML document Parser 코드 주고, 어떤 디자인 패턴이 필요한지이 패턴의 장/단점 Factory Method Pattern팩토리 메소드 패턴이란?객체 생성을 서브 클래스에 위임할 수 있는 생성 패턴객체를 생성하기 위한 인터페이스를 정의하지만, 어떤 클래스를 인스턴스화할지는 서브 클래스가 결정함팩토리 메소드 패턴이 사용되는 상황객체의 생성을 코드의 나머지 부분으로 분리 하려고 할 때사용자가 자체 객체를 만들어 시스템을 확장하는 방법을 제공하고자 할 때객체 생성에 있어서 기존의 코드를 건들지 않고, 쉽게 확장할 수 있는 방법이 있을까? (OCP 원칙)Example situation배를 만드.. 2024. 12. 12.
반응형