[COM] 31. ATL의 개요 (1) - 프로젝트와 객체의 생성 순수한(?) C++ 언어를 이용한 COM과 VC++의 COM. 이제 ATL(Active Template Library)입니다. 이는 '작고 빠르고 확장성을 갖는 COM 컴포넌트를 쉽게(!) 구현 할 수 있게 한다'....라고 합니다. '작다'는 특징은 템플릿이기 때문에 실제 인스턴스가 만들어지기 전까지는 코드가 생성되지 않기 때문에 작을 수 있고, '쉽게' 구현 할 수 있다는 것은, 필수 인터페이스(IUnknown, IClassFactory)에 대한 코드가 구현되어 있기 때문에 편리합니다. '빠르고 확장성'이 있다는 것은...아마도, 설계를 잘 했나보군요. 하핫~ ATL이 어떻게 이런 장점을 제공하는지는 예제를 통해 어느 정도 확인 할 수 있겠습니다. 예제를 만들 때 눈 여겨 봐야 할 점은 ATL을 사용.. 더보기 개발자의 초식, 디자인 패턴「그러나…」 1980년대 중반 소프트웨어의 사용 범위와 규모가 폭발적으로 늘어나게 되면서 소프트웨어를 구성하는 프로그램의 논리는 점점 더 복잡한 실타래처럼 꼬여갔다. C 언어로 대표되는 기존의 ‘절차적’ 언어가 그런 변화를 감당하기에 역부족이라는 사실은 누구의 눈에도 분명했다. 이와 같은 상황에 등장하여 사태를 단숨에 제압한 존재가 바로 ‘객체’였다. 객체가 제공한 ‘코드의 재사용(reusability)’과 ‘다형성(polymorphism)’이라는 약은 중병을 앓던 소프트웨어의 세계에서 놀라운 효능을 지닌 처방이 되었다. 객체의 ‘약’맛을 본 프로그래머들은 세부적인 알고리즘의 구현에 점점 덜 구애받게 되었다. 세부적인 논리보다는 요구사항(requirements)을 분석한 결과에 따라서 객체를 정밀하게 설계하는 일이 .. 더보기 ④ 리스코프 치환 원칙 과거 헐리우드에서는 배우들이 좋은 영화의 배역을 구하기 위해 영화제작사에 자주 전화를 걸었다고 한다. 배우들의 잦은 전화 때문에 영화기획사 담당자들이 자신의 업무를 할 수 없을 정도로 전화에 시달리게 됐다. 고민 끝에 이들은 한 가지 좋은 묘안을 생각해 냈다. 배우들에게 자신이 어떤 역할을 잘 하며 어떤 영화 배역을 맡고 싶다고 등록하도록 한다. 기획중인 영화에서 어떤 배역이 나왔을 때 배우가 등록한 목록에서 적합한 배우를 찾은 다음 그 배우에게 전화하면 캐스팅이 시작된다. 바로 “전화하지마, 내가 전화할께(Don‘t call us, we’ll call you)?? 방식은 ‘헐리우드 원칙’이라고도 부르며, GoF가 「템플릿 메쏘드」 패턴을 소개하면서 예로 든 내용이다. 의존 관계 역전의 법칙 그럼 기획사.. 더보기 이전 1 ··· 10 11 12 13 14 15 16 ··· 31 다음