2010.07.31 23:48 책 정리/Effective C#

이 포스트를 만든 목적

  • 공부 하려고

이 포스트의 준비물

  • gVim 7.2
  • SyntaxHighlight
  • Microsoft Visual C# 2010 Express

참조 서적

  • Effective C#

내용
작고 응집도가 높은 어셈블리란 무엇을 말하는 것인가?

쉽게 생각해서, DLL이 작고, 필요한 것들만 모아둔 어셈블리를 뜻한다.

작고 응집도가 높은 어셈블리가 왜 더 좋은가?

  • 어셈블리 최초 로드가 보다 더 빨라지기 때문에
    - 프로그램이 실행 될 때, 모든 어셈블리를 로드하지 않고, 필요한 것만 로드를 한다. 그러다 필요한 어셈브리를 로드 할 때 로드를 한다. 만약 필요한 어셈블리의 단위가 잘 정리되어 있어, 그 크기가 적절하다면, 어셈블리 로드의 시간을 줄여 더 빨라진다는 이야기이다.

  • 변경 된 어셈블리를 배포하기 더 쉽고 빠르기 때문에
    - 만약 어셈블리의 1개의 용량이 2MB 라고 할 경우, 몇 라인을 수정하더라도, 2MB 모두 배포해야 된다. 하지만 보다 적절하게 어셈블리 단위를 독립시켜 놓는다면, 2MB 가 500KB 로 작아 질 수도 있다. 또한 독립되어 있는 어셈블리이기 때문에, 보다 저 수정이 쉽다.

주의 해야 할 점이 있는가?

작다고 해서 무조건 좋은 것만은 아니다. 예를 들어 클래스 단위로 어셈블리를 만드는 것은 수정하는 사람이나, 배포하는 사람이나 읽어야 하는 컴퓨터나 모두다 자원을 소비하는 꼴이다. 그러므로 독립성과 연관성을 잘 대조(이게 핵심인데 책에는 내용이 없다.)해서, 적절한 크기로 어셈블리를 만들어야 한다.

여담

  • 이런 말이 있다. "프로그래밍은 분해와 결합의 연속이다." 나는 이 말에 크게 공감한다.
    - 어떤 책인지 기억은 나지 않아 출처를 밝힐 수 없다.

  • 이번 항목은 그냥 일반적인 이야기일 뿐이다. 우리는 이러한 일반적인 이야기를 통해서, 더 좋은 방법을 찾는 일을 해야 한다. ;(

  • 책을 읽으면서 오캄의 면도날이 생각났다.


posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요