본문 바로가기

기타

(21)
Adapter pattern 1. Issue ● 기존의 클래스나 라이브러리 모듈을 변형하거나 수정 하지 않고 사용할 수 있는가? 2. Why ● 인터페이스가 다른 클래스를 사용하려면 인터페이스를 통일 시켜야 한다. ● 자신이 개발하는 모듈의 소스를 수정하는 것은 더욱 많은 비용을 발생시킨다. ● 라이브러리 모듈 같은 경우 소스코드가 없고 수정하려 해도 많은 비용이 든다. 3. Solution 3-1. Object Adapter 패턴 ○ 존재하는 객체를 참조해서 인터페이스를 통일 class Rectangle{ public : Rectangle() {} void Draw() {} }; class TextView{//존재하는클래스(Adaptee클래스) public : Rectangle GetExtent() { return Rectangl..
Abstract Factory pattern 1. 제품군별 객체 생성 1.1. 제품군(Product Family)이란? - 같은 환경이나 조건에서 실행될 클래스만을 모아 놓은 것 1.2. 문제점 - 시스템의 환경에 따라 클래스 객체를 생성 1.3 해결책 ①기본적 방법(조건 비교 방식) - 조건에 따라 생성 - 비교문장이 존재하므로 샐운 조건 추가시 프로그램 전체를 수정 EX) void ScanParse() { if(strncasecmp(sysInfo.sysname, HPUX, strlen(HPUX)) == 0) { //HP용객체생성및사용 HPScanner scanner; HPParser parse; } else if(strncasecmp(sysInfo.sysname, SUNOS, strlen(SUNOS)) == 0) { //Sun용객체생성및사용 S..
소프트웨어 개발 기본 요소 1. 소프트웨어 개발이란? - 원하는 목적을 달성하기 위해 기준이 되는 개념이나 철학(구조적, 객체지향적)을 바탕으로 특정한 과정을 거쳐 소프트웨어적인 해결책을 만들어 내는 것. 1.1. 구조적(Structured) ① 원하는 목적을 직접적인 기능으로 세분화 구체화 ② 간단한 구조(하향식, 서브트리구조) ③ 어려운 유지, 보수 ④ 하나의 기능 수정시 전체 구조를 확인 1.2. 객체지향적(Object Oriented) ① 객체들 간의 상호 관련이 중요 ② 2단계 방식 (ⅰ.클래스 설계 ⅱ.기능수행) ③ 복잡한 네트워크 구조 ④ 쉬운 유지, 보수 ⑤ 객체의 재사용 가능 ⑥ 클래스 상속을 통해 확장이용이 2. 소프트웨어 개발과정 ① 요구사항 명세 - 요구사항을 조정 ② 요구사항 분석 - 환경,기능,행위 등의 ..
OpenGL 기본 셋팅 Microsoft Visual Studio 2005 Software사용 시 1. C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include 폴더에 OpenGL.h, GLEXT.h, GLTools.h, glut.h, wglext.h를 copy 2. C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include 폴더에 glut32.lib를 copy 3. C:\Windows\system32 폴더에 glut32.dll를 copy
OpenGL Base knowledge 1. OpenGL의 좌표계 - 오른손 좌표계를 사용함 1.1 Viewport - 논리적 좌표를 물리적인 화면 픽셀 좌표로 전환하는 과정 1.2 Local coordinate system - 3D에서 object는 정점(vertex) 리스트로 구성된다. 그 정점들을 기준좌표(0, 0, 0)으로 부터의 거리. 즉, 상대적 좌표리스트로 구성됨. 1.3 World coordinate system - Local coordinate system으로 구성된 오브젝트를 실제의 위치상에 배치하기 위해서는 월드상의 좌표계로 이동하여 계산하도록 한다. 1.4 Camera coordinate system - 카메라가 보고 있는 위치에 따라 오브젝트가 다르게 보이므로 최종적으로 카메라좌표를 기준으로 각 오브젝트들의 위치계산을 ..