카테고리 없음

9. [정처기 필기] 객체지향/아키택처 패턴/모듈

woogy99 2024. 11. 26. 23:50

1.아키택처 패턴

 

-파이프 필터 패턴 : 데이터 스크림 절차의 각단계를 필터 컴포넌트로 캡슐화하여

파이프를 통해 데이터를 전송하는 패턴 ( 데이터 이동시 데이터 변환으로 인한 오버헤드가 발생 )

 

-MVC(Model-View-Controller) 패턴 :

모델 : 서브시스템의 핵심 기능과 데이터를 보관

뷰 : 사용자에게 정보를 표시함

컨트롤러 : 사용자로부터 입력된 변경 요청을 처리하기 위해 모델에게 명령을 보냄

 

-마스터 슬레이브 패턴

동일한 구조의 슬레이브 컴포넌트로 작업을 분할한 후 슬레이브 컴포넌트에서

처리된 결과물을 다시 돌려받는 방식. 

장애 허용 시스템과 병렬 컴퓨팅 시스템에서 주로 활용

 

2. 객체지향

 

-객체 : 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화한) 하나의 소프트웨어 모듈

 

-메시지 : 객체들 간에 상호작용을 하는데 사용되며 객체에게 지시하는 명령 또는 요구사항

 

-클래스 : 공통된 속성과 연산을 갖는 객체의 집합. 각각의 객체는 인스턴스

 

-캡슐화 : 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는것

 

-상속: 이미 정의된 상위 클래스의 속성과 연산을 하위 클래스가 물려 받는것

 

-다형성:메시지에 의해 객체(클래스)가 연산을 수행하게 될 때 하나의 메시지에 대해

각각의 객체(클래스)가 가지고 있는 고유한 방법으로 응답할 수 있는 능력

ex)오버로딩, 오버라이딩

 

-집단화 : 관련 있는 객체들을 묶어 하나의 상위 객체를 구성

 

3. 객체지향 분석 및 설계

- Coad와 Yourdon방법  : E-R 다이어그램을 사용하여 객체의 행위를 모델링함.

- 럼바우의 분석 기법 :

객체 모델링 (객체 다이어그램으로 표시) ,

동적 모델링 (상태 다이어그램 표현),

기능 모델링 (자료 흐름도를 이용하여 처리)

 

4. 객체지향 설계원칙

-단일 책임 원칙 : 단 하나의 책임만 가져야함. 결합도 낮고 응집도 높게

-개방 폐쇄 원칙 : 기존의 코드를 변경하지 않고 가능을 추가할 수 있게

-리스코프 치환 원칙: 자식 클래스는 자신의 부모 클래스에서 가능한 행위를 수행할 수 있어야함

-인터페이스 분리 원칙 : 자신이 사용하지 않는 인터페이스와 영향을 받지 않아야 함

-의존 역전 원칙 : 추상성이 낮은 클래스보다 높은 클래스와 의존 관계를 맺어야함

 

5. 모듈

-모듈화를 통해 분리된 시스템의 각 기능( 서브루틴,작업 단위 등의 의미)

- 단독으로 컴파일이 가능하며 재사용 할 수 있음

- 모듈은 다른 모듈에서의 접근이 가능

 

6. 결합도의 종류

낮은순 <<< 높은순

자료(Data) < 스탬프(Stamp) < 제어(Control) < 외부(Extemal) < 공통(common) < 내용(Content)

 

7. 응집도

-명령어나 호출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정도.

-모듈이 독립적인 기능으로 정의되어 있는 정도. 

(결합도가 낮고 응집도가 높으면 좋음)

 

낮은순<<< 높은순

우연적(Coincidental) < 논리적(Logical) < 시간적(Temporal) < 절차적(Procedural)

< 교환적(Communication) < 순차적(Sequential)< 기능적(Functional)