블로그 이미지
Kanais
Researcher & Developer 퍼즐을 완성하려면 퍼즐 조각들을 하나 둘씩 맞춰나가야 한다. 인생의 퍼즐 조각들을 하나 둘씩 맞춰나가다 보면 인생이란 퍼즐도 완성되는 날이 오려나...?

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Notice

2015. 5. 11. 11:09 Programming/COM


작성날짜    : 2011-03-15



Component 란?
Binary Level 
로써 동일한 방식으로 실행되고, 상호 운영이 가능하며, 위치에 구애됨이 없이, 이진 코드로서 독립적으로 구성된 실행파일 또는 DLL이다.
Binary Level이 안되면, 결합이 불가능하다.

- Component
는 Complie된 Binary 파일

- Component를 구성하고 사용하려면 특별한 추가 구현이 요구됨.


한 덩어리의 소프트 웨어를 분리했을 때 개념상의 추상적 단위

-> 하나의 COM 객체 = Component

   다수의 COM 개체 = Component
(소프트 웨어를 기능별로 분리했을 때 하나의 기능을 다 수의 COM 객체로 구현할 수 있기 때문)
 

Component Library
컴포넌트 라이브러리에서 컴포넌트를 선택하여 개발 가능.
  
레고 조립의 개념과 동일.
  
1) 동적 링크
    
- Application이 실행하는 동안 EndUser가 Application에서 사용하는 Component를 
     대체하도록 함.

    - 정적 링크시 재 컴파일 및 배포 문제 발생

    - 내부적으로 DLL 사용이유
  
2) 캡슐화
    
새로운 컴포넌트는 기존의 컴포넌트와 같은 방법으로 연결되어야 함.  
    - 컴포넌트를 새로이 작성하고, 컴파일하고, 링크해야 하는 문제 발생.

 

COM에서의 Client와 Server

- Client : Component를 사용하는 프로세스, Service를 제공받는다.

- Server : exe 파일 또는 DLL로 구현된 Component, Service를 제공한다.

 

COM

MS사 기술들의 근간의 기술을 제공한다.

Component를 만드는 방법에 대한 구체적인 명세.

 

Active X Control

HTML에서는 할 수 없는 Client PC를 제어 할 목적으로 만들어짐.

 

Windows Application(Rich Client 라고도 함)

 

Monolithic Application

속도가 빠른 대신에, 변화에 대처하기가 힘들다.

- Application의 변화 문제

한 덩어리의 Application을 컴포넌트로 분리시키면 사용자의 변화를 수용하는

것이 한결 수월해진다.

 

Component Application

여러 덩어리로 나누어 질수록 속도는 느려짐.

하지만 패치나 새로운 기능들 추가하는 건 더 쉬움.

 

Component Programming

한 덩어리의 소프트웨어를 여러 개의 작은 덩어리로 나누어 Programming.

'Programming > COM' 카테고리의 다른 글

[COM] Registry  (0) 2015.05.11
[COM] Create GUID  (0) 2015.05.11
[COM] 재정의(overriding)  (0) 2015.05.11
[COM] 가상 함수 테이블(virtual function table)  (0) 2015.05.11
순수 가상 함수(pure virtual function)  (0) 2015.05.11
posted by Kanais