관심사의 분리(Separation of Concerns)


Reference를 찾아보자

Chapter 2: Key Principles of Software Architecture

https://msdn.microsoft.com/en-us/library/ee658124.aspx

서광열의 코딩 스쿨

게임 개발뿐만 아니라 모든 소프트웨어 개발의 핵심은 복잡성을 극복하는 것입니다. 프로그램은 작은 프로그램의 조합으로 만들어지는데, 다른 엔지니어링과 달리 이런 조합에 물리적인 제약이 존재하지 않기 때문에 훨씬 쉽게 복잡해지는 경향이 있습니다. 예를 들어, 초고층 건물이나 우주 비행선은 물리 법칙의 제약 때문에 더 복잡해지기 어렵지만, 소프트웨어는 이런 제약이 없습니다.

소프트웨어가 복잡해지면 가장 먼저 병목이 되는 건 사람입니다. 인간의 머리는 한 번에 생각할 수 있는 양에 한계가 있기 때문입니다. 인지 심리학자인 George A. Miller은 The Magical Number Seven, Plus or Minus Two라는 논문에서 인간은 아무리 똑똑해도 한 번에 처리할 수 있는 정보가 7개 정도(혹은 1,2개 더)로 제한되어 있다고 말합니다.

소프트웨어 엔지니어링에서 강조하는 원리 중 하나는 관심사의 분리(Separation of Concerns)입니다. 여러 가지를 동시에 신경 쓰면 복잡하니깐, 각각을 따로 분리해서 생각하자는 이야기입니다. Concern을 보통 관심사로 번역하고 있지만, 복잡성의 관점에서는 걱정거리로 생각할 수도 있습니다.

그런데 걱정거리는 쉽게 늘어납니다. 예를 들어, 게임 출시 전에 튜토리얼 기능을 추가한다고 합시다. 튜토리얼이라는 게 게임 전반에 걸쳐서 게임 진행…

원본 글 보기 322단어 남음

Advertisements

“관심사의 분리(Separation of Concerns)”에 대한 1개의 생각

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중