반응형

C# 267

온라인 무료 공개 [Escort GoF의 디자인 패턴 C#]

온라인 무료 공개 [Escort GoF의 디자인 패턴 C#] 책 소개이 책은 소프트웨어 제작 시 자주 사용되는 디자인(설계) 패턴(유형)을 소개하고 C#언어로 기술하였습니다.소프트웨어 설계에 관한 책으로 [GoF의 디자인 패턴]은 많은 개발자에게 명서로 알려졌습니다. 하지만 충분한 지식과 경험이 없는 상태에서 보는 것은 너무나 힘들다고 얘기합니다. 이 책에서는 GoF의 디자인 패턴에 소개된 23가지 디자인 패턴을 설명과 시나리오, 클래스 다이어그램, 구체적인 구현까지 다루고 있습니다. 이를 통해 어떠한 디자인 패턴이 어떻게 사용하면 좋은지를 판단하고 실제 프로그래밍에서 효과적인 설계를 할 수 있게 도와줄 것입니다.정확한 설명으로 디자인 패턴을 설명하면 충분한 사전 지식과 경험이 있는 이들은 명확하게 알 ..

[C#] 10. .NET 어셈블리 - 어셈블리 만들기

10. .NET 어셈블리 10.2 어셈블리 만들기 여기서는 .NET 어셈블리를 만들어 보기로 합시다. .NET 어셈블리 중에 실행 파일을 만드는 것은 이미 알고 있으므로 라이브러리를 만드는 것을 하겠습니다. 그리고 다중 파일 어셈블리의 부속이 되는 모듈도 만들어 보기로 합시다. 10.2.1 라이브러리 제작 .NET에서 라이브러리는 쉽게 제작할 수 있습니다. 코드를 작성하는 부분에서 다른 어셈블리에서 사용할 수 있는 형식을 정의할 때 public 키워드를 명시하기만 하면 됩니다. 멤버도 마찬가지로 다른 어셈블리에서 접근을 허용하게 하려면 접근 지정을 public으로 하면 됩니다. 즉, 다른 어셈블리에 정의된 형식이나 멤버 중에 사용할 수 있는 형식과 멤버는 접근 지정이 public으로 되어 있다는 것 말고..

[C#] 10. .NET 어셈블리 - .NET 어셈블리 구성 요소

10. .NET 어셈블리 .NET 어셈블리는 .NET 프레임워크 응용 프로그램을 구성하는 기본 컴포넌트입니다. 컴포넌트 기반의 프로그래밍은 모듈의 재사용성을 높여줍니다. .NET 응용 프로그램을 제작할 때 미리 작성된 라이브러리를 사용할 수 있는데 이 때 사용하는 라이브러리도 .NET 어셈블리이며 실행 파일도 .NET 어셈블리입니다. .NET 어셈블리는 EXE 파일 혹은 DLL 파일 형태로 만들 수 있으며 하나 이상의 모듈을 포함할 수도 있습니다. 그리고 .NET 어셈블리는 배포를 단순화하여 COM에서 발생했던 많은 배포 문제를 해결하였습니다. .NET 어셈블리는 자기 기술적인 메타 데이터를 갖고 있고 레지스트리 항목에 종속되지 않는 구성 요소로 디자인되어 있기 때문에 병행(Side by Side) 실행..

[C#] 8.2 컬렉션 - IDictionary 인터페이스

8.2 컬렉션 8.2.4 IDictionary 인터페이스 IDictionary 인터페이스는 키와 값을 쌍으로 보관하는 컬렉션들의 기반 형식입니다. 그리고 IList 인터페이스처럼 IDictionary 인터페이스도 ICollection 인터페이스를 기반으로 정의한 형식입니다. IDictionary 인터페이스에는 키와 값을 쌍으로 보관할 때 사용하는 Add 메서드를 제공하고 있으며 내부 규칙에 따라 보관될 위치를 결정하게 됩니다. 따라서 IList 인터페이스와 다르게 특정 위치에 보관하는 Insert 메서드는 제공하지 않습니다. 그리고 IDictionary 인터페이스에는 같은 키를 가진 요소를 보관할 수 없습니다. 만약, Add 메서드를 이용하여 같은 키를 가진 요소를 보관하려고 시도하면 예외가 발생합니다...

[C#] 8.2 컬렉션 - IList 인터페이스

8.2 컬렉션 8.2.3 IList인터페이스 IList 인터페이스는 배열과 ArrayList의 기반 인터페이스입니다. IList 인터페이스에는 인덱서로 요소를 참조할 수 있는 멤버들을 약속하고 있습니다. 그리고 IList는 ICollection 인터페이스 기반의 형식이므로 앞에서 살펴본 ICollection에 약속한 멤버들에 대한 약속을 포함하게 됩니다. 여기에서는 새롭게 추가된 약속들에 대해서만 다룰게요. ICollection 인터페이스에서는 요소를 추가할 때 사용하기 위해 Add 메서드와 Insert 메서드를 제공하고 있습니다. Add 메서드는 차례대로 보관할 때 사용하고 Insert 메서드는 원하는 인덱스 위치에 보관할 때 사용합니다. int Add(object value); //요소를 추가하는 메..

[C#] 8.2 컬렉션 - ICollection 인터페이스

8.2 컬렉션 8.2.2 ICollection 인터페이스 ICollection 인터페이스는 제네릭이 아닌 모든 컬렉션의 기반 인터페이스입니다. 제네릭 컬렉션은 IColleciont 인터페이스를 기반으로 정의되어 있는데 여기서는 ICollection 인터페이스에 대해 살펴볼게요. ICollection은 C#에서 제공하는 제네릭이 아닌 모든 컬렉션의 기반 인터페이스로 컬렉션에 보관된 요소의 개수와 다른 컬렉션에 보관된 요소를 복사하는 메서드, 열거자, 동기화 메서드가 약속되어 있습니다. 물론, 열거자는 ICollection이 IEnumerable을 기반으로 정의되어 있기 때문입니다. ▶ ICollection 인터페이스의 약속된 멤버 class Program { static void Main(string[] ..

[C#] 8.2 컬렉션 - 개요

8.2 컬렉션 개요 프로그래밍하다 보면 여러 개의 개체를 구조적으로 관리하는 것은 자주 발생합니다. C#에서는 요소 개체의 집합체인 컬렉션을 다양하게 제공하고 있으며 같은 인터페이스를 기반으로 구현 약속하여 하나의 컬렉션 사용법을 익히면 다른 컬렉션을 사용법을 익히기 쉽습니다. C#에서 제공되는 컬렉션에는 하나의 개체로 보관하는 컬렉션들과 키와 값을 쌍으로 보관하는 컬렉션들이 있습니다. 하나의 개체로 보관하는 컬렉션들은 IList 인터페이스를 기반이거나 ICollection 인터페이스를 기반으로 정의되어 있습니다. 그리고 키와 쌍으로 보관하는 컬렉션들은 IDictionary 인터페이스를 기반으로 정의되어 있습니다. 또한, IList와 IDictionary 인터페이스는 모두 ICollection 인터페이스..

[C#] 7.3 설계한 내용 프로젝트에 옮기기 - TV 시청

7.3 설계한 내용 프로젝트에 옮기기 TV 시청 [그림] TV 시청 시퀀스 다이어그램 초점이 기숙사에 온 상태에서 TV 시청을 선택했을 때에 대하여 시퀀스 다이어그램을 보며 필요한 부분을 추가해 봅시다. 여기에서는 기숙사에서 학생에게 TV를 시청하게 하는 WatchingTV 메서드만 추가하면 되겠네요.

[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 초점 이동

7.3 설계한 내용 프로젝트에 옮기기 초점 이동 [그림] 초점 이동 시퀀스 다이어그램 이번에는 초점 이동에 대한 시퀀스 다이어그램을 보면서 멤버를 추가해 봅시다. 초점 이동에 대한 시퀀스 다이어그램에서는 각 장소에 따라 다르게 수행되는 부분은 약속하지 않고 공통적인 부분만 약속하였습니다. 초점 이동에 관한 시퀀스를 보시면 각 장소로 초점이 이동되고 나서 다시 캠퍼스 생활로 초점이 돌아오면 어떻게 학생들을 복귀시킬 것인지에 대한 시퀀스가 약속되어 있습니다. 먼저, 캠퍼스 생활에서 해당 장소에 학생의 수를 얻어오는 부분이 있고 특정 학생의 정보를 얻어오는 부분이 있습니다. 그리고 사용자에 의해 선택된 학생 번호에 해당하는 학생을 얻어오는 메서드가 약속되어 있네요. 그리고 캠퍼스 생활에서 캠퍼스 개체에게 복귀..

[C#] 6.2.6 sealed 키워드를 이용한 봉인

6.2.6 sealed 키워드를 이용한 봉인 C#에서는 특정 형식을 기반 형식으로 사용하지 못하게 봉인시킬 수 있습니다. 봉인 형식을 정의할 때는 형식 명 앞에 sealed 키워드를 명시합니다. [그림 25] 봉인 클래스를 기반 클래스로 사용할 때 오류 화면 그리고 파생 형식에서 재정의한 메서드에 sealed 키워드를 명시하여 이후에 파생 형식에서 재정의하지 못하게 봉인 메서드를 만들 수 있습니다. [그림 26] 봉인된 멤버를 재정의할 때 오류 화면 [C#] 6. 상속과 다형성 - 6.1 상속[C#] 6.2 다형성 - 기반 형식의 변수로 파생한 개체를 참조[C#] 6.2.2 is 연산자와 as 연산자[C#] 무효화 - new 키워드, base 키워드[C#] 6.2.4 가상화 virtual, 재정의 ove..

반응형