포털:컴퓨터공학/디자인패턴

디자인 패턴

편집

디자인 패턴, 즉, 설계 패턴은 객체지향 프로그래밍 언어에서 혹은 그렇지 않은 언어에서 자주 활용되는 코드 집합(Snippet)을 일반화시켜서 정리한 것입니다. 디자인 패턴이라고 하면 주로, GoF의 디자인 패턴을 떠올리는데, 부단 GoF 뿐만 아니라 Microsoft에서 C#에 도입한 Disposable 패턴도 디자인 패턴으로서 받아들여지는 추세에 있습니다. 그리고, 자바스크립트에서 비동기 처리를 보다 쉽고 빠르게 수행하기 위해 적용되는 Promise 패턴도 설계 패턴에 해당하지요.

목적

편집

이 강의는 이미 객체지향 언어들 중 하나(C++ 혹은 C#, Java 중 하나)를 알고 있다는 가정하에 진행됩니다. 어떤 디자인 패턴이 존재하는지, 언어별로 어떤 형태의 구현이 발생하게 되는지 살펴보고, 그걸 바탕으로 자신만의 독특한 설계를 할 수 있도록 학습하는 것에 초점을 맞춥니다.

자료 정보
  진행 상황: 이 자료는 아직까지 만들어지는 중입니다. 여러분이 빨리 진행될 수 있도록 도와주세요.
  과목 정보: 이 자료는 공학 과목의 자료입니다.


들어가기 전에

편집

요약 설명 중 잘못된 내용이 있다면, 주저없이 수정해주시면 됩니다. 난이도 평가 척도는 주관적으로 지정되었으나, 변경이 필요하다면 변경해주시길 바랍니다. 대부분은 C++ 코드나 경우에 따라서 C# 코드로 제공되지만, 혹여나 다른 언어로 구현한 코드를 제공해 주실 독자분들은 추가해주시면 감사드리겠습니다.

강의 바로가기

편집
  1. 목차(현 게시글 입니다)

설명을 위한 설명

편집

(이 섹션은 포털:컴퓨터공학/C++ 문서의 설명을 위한 설명과 유사한 내용입니다)

작성자가 임의로 선정한 "일정 간격"에 의해 게시글은 구분됩니다. 현재 이 게시글은 모든 게시글로 바로갈 수 있는 통로 역할을 합니다.

다음 틀에 들어있는 내용은 각각 다음과 같습니다.
1. 코드 틀

타이틀

소스 코드

2.주의 틀

주의 프로그래밍을 하면서 쉽게 실수할 만한 사실을 적어둡니다 

3. 힌트 틀

힌트 코딩에 도움이 되는 사항을 추가로 알려드립니다

4. 예제 또는 예시 틀

예제 관련 예제 또는 예시 코드를 제공합니다.
예시 관련 예제 또는 예시 코드를 제공합니다.

5. 퀴즈 틀

퀴즈 중간 중간에 등장하는 간단한 퀴즈입니다.

6. 과제 틀

과제 한번 쯤 만들어 보면 좋을 프로그램을 짜 보는 간단한 과제를 제시합니다.

7. 개량(대안) 틀

원본 코드

소스 코드

개량(대안) 코드

개량된 소스 코드

8. 컴파일 틀

Windows 윈도우즈 환경 하에서 커맨드라인으로 컴파일 하는 방법을 설명합니다.
Linux 리눅스 환경 하에서 커맨드라인으로 컴파일 하는 방법을 설명합니다.
그 외 필요한 경우 이런 형태로 컴파일 하는 방법이 쭈욱 나열됩니다.