'아키텍처'에 해당되는 글 1건
아키텍처 패턴 :: 2009/08/04 16:08
"요소와 그들과의 관계를 특정 목적에 맞도록 사용하게 하는 제약 사항"
이라고 책에서 정의하고 있다.
아키텍처의 요소들이 워낙 방대하고, 그 관계 또한 복잡하다보니 마치 프로그래밍에 있어서 디자인 패턴처럼 중요하고 자주 사용되는 패턴들에 대해서 일반화 시켜놓은 아키텍처 요소들과 관계의 패턴이라고 말할 수 있다.

솔직히 이 패턴은 그 패턴(?)이 아님을 알고 있다 ㅡㅡ땀
말이 일반화지 아키텍처 자체가 모든 이해관계자(stakeholder)들 간에 공유할 수 있는 일종의 언어가 될 수 있어야 하기 때문에 서로가 공감할 수 있도록 제약을 걸어 놓은 패턴이라고 해야 옳은 표현 일 수도 있겠다.
책에서와 같이 클라이언트/서버 구조라는 아키텍처 패턴이 있을 수 있다. 물론 무수히 많은 구조가 아키텍처에 존재할 수 있지만, 이 모든 것을 한꺼번에 다루기에는 힘들고 클라이언트/서버라는 구조가 일반적이고 범용적으로 사용되기 때문에 이를 하나의 패턴으로 정해놓은 것이다. 하지만 이게 '정의고 진리'인 패턴은 절대 아니다.
그렇다고 무작정 나만의 패턴을 만들어 사용하는 것 보다는 이렇게 수 십년 동안 사용되어 오고 정의되어 뿌리 내린 패턴에 대해서는 그만큼 엄격한 검증과 사례들이 이 패턴의 정당성을 뒷받침해주기 때문에 우리는 아무런 의심의 여지가 없이 사용할 수 있다.
특히 패턴은 품질 속성(Quality Attribute)를 명확히 대변해준다는 점에서 큰 의미를 지니고 있다. 어떤 패턴을 적용해도 상관없는 경우라도 패턴별로 대변하는 품질 속성이 다르기 때문에 패턴을 선택함에 있어서 신중을 기해야 할 것이다. 마치 디자인 패턴 중, 생성 패턴에 '싱글턴, 추상 팩토리, 팩토리 메소드, 빌더, 프로토타입'등의 다양한 패턴이 존재하지만, 각 패턴이 갖는 특징이 다른만큼 내 시스템에 맞는 적절한 패턴을 선택하는 것이 중요하다.



