본문 바로가기

분류 전체보기240

Architecture Styles Batch Sequential Style 정의 데이터 흐름 아키텍처 스타일 시스템은 데이터 셋을 조작하고 순차적으로 실행되는 독립 컴포넌트로 구성됨 한 컴포넌트는 이전 컴포넌트가 완료되어야 다음이 시작됨 데이터는 컴포넌트 간에 whole batch로 전송됨 동기 여러 단계에서 데이터 셋을 조작해야 할 때 하나의 컴포넌트로 전체 기능을 처리하기 어려울 때 (컴포넌트들의 시퀀스에 대한 수요) 시스템을 재구성해야 할 때 컴포넌트를 쉽게 삽입, 제거 또는 재 정렬해야 할 때 Applicable Situation 독립적인 데이터 조작 컴포넌트로 구성된 시스템(즉, 데이터 조작 집약적인 시스템) 컴포넌트는 데이터 흐름의 순서에 따라 순차적으로 연결됨 (병렬 처리는 지원하지 않음) 전체 배치에서 컴포넌트에서 다음 컴.. 2022. 8. 1.
[Design Pattern] 책임 연쇄 패턴(Chain of Reponsibility Pattern)에 대해 알아보자 Definition 책임 연쇄(Chain of Responsibility)는 일련의 핸들러를 따라 요청을 전달할수 있는 패턴이다. 요청을 받으면 각 핸들러는 요청을 처리할지 아니면 체인의 다음 핸들러로 전달할지 결정한다. Behavioral Patterns Situation - 1개의 요청을 2개 이상의 객체에서 처리해야 할때 - 윈도우 시스템에서 마우스 클릭과 키보드 이벤트를 처리할 때 흔히 쓰인다. - 프로그램이 다양한 방식으로 다양한 종류의 요청을 처리할 것으로 예상되지만 정확한 요청 유형과 순서를 미리 알 수 없는 경우 - 특정 순서로 여러 핸들러를 실행해야 하는 경우 Structure Pros - 요청을 보낸 쪽과 받는 쪽을 분리할 수 있다. - 객체는 사슬의 구조를 몰라도 되고 그 사슬에 들어.. 2022. 7. 29.
[Design Pattern] 빌더 패턴(Builder Pattern)에 대해 알아보자 Definition 빌더(Builder)는 복잡한 객체를 단계별로 구성할 수 있는 패턴이다. 동일한 구성 코드를 사용하여 객체의 다양한 유형과 표현을 생성할 수 있다. Creational Patterns Situation 복합 객체 구조를 구축하는 용도로 많이 쓰임 제품을 여러 단계로 나눠서 만들도록 제품 생산 단계를 캡슐화 하고 싶을 때 Structure Pros 복합 객체 생성 과정을 캡슐화 한다. 여러 단계와 다양한 절차를 거쳐 객체를 만들 수 있다 (팩토리 패턴은 한 단계에서 모든 걸 처리) 제품의 내부 구조를 클라이언트로부터 보호할 수 있다. 클라이언트는 추상 인터페이스만 볼 수 있기에 제품을 구현한 코드를 쉽게 바꿀 수 있다. Cons 팩토리를 사용할 때 보다 객체를 만들 때 클라이언트에 관해.. 2022. 7. 28.
Principles of SW Design SOLID Single-Responsibility Principle (SRP) : 단일 책임 원칙 정의 : 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는데 집중되어야 한다는 원칙 장점 : 책임을 적절히 분배함으로써 코드의 가독성 향상, 유지보수 용이, 응집도는 높아지고 결합도는 낮아짐 단점 : 하나의 책임이라는 게 모호할 수 있음 Open-Closed Principle (OCP) : 개방 폐쇄 원칙 정의 : 소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에는 열려있고, 변경에는 닫혀있어야 한다는 원리 장점 : 기존 구성요소를 쉽게 확장하여 재사용 가능, OCP를 가능케 하는 중요 메커니즘은 추상화와 다형성, 객체지향의 장점을 극대화하는 가장.. 2022. 7. 28.
300x250