Corgi 소프트웨어 아키텍처
본문 바로가기
코딩/안드로이드(android)

소프트웨어 아키텍처

by 짱아아빠 2024. 4. 12.
반응형

안드로이드를 공부하면서 클린 아키텍처라는 단어를 접하였습니다 그래서 아키텍처가 뭐지라는 생각에 찾아보니

소프트웨어 아키텍처는 소프트웨어 시스템의 구조 또는 구성 요소들 간의 상호 작용 방식을 설계하는 과정이나 결과물을 가리킵니다. 쉽게 말해, 아키텍처는 소프트웨어 시스템의 전체적인 디자인 또는 체계입니다.

아키텍처는 소프트웨어 시스템을 구성하는 다양한 부분들의 관계와 상호작용을 명확하게 정의하고 조직화함으로써 다음과 같은 목표를 달성합니다.

  1. 시스템 이해: 시스템의 구조를 명확하게 이해하여 시스템의 복잡성을 다룹니다.
  2. 유지보수성: 변경을 수용하고 확장 가능한 시스템을 설계함으로써 유지보수성을 향상시킵니다.
  3. 재사용성: 모듈화와 추상화를 통해 코드의 재사용성을 증가시킵니다.
  4. 성능: 성능을 향상시키고 시스템의 효율성을 극대화합니다.
  5. 확장성: 시스템을 확장 가능하도록 설계하여 새로운 요구 사항에 대응할 수 있습니다.

 

반응형

아키텍처는 소프트웨어 시스템의 전체적인 디자인을 나타내는데, 이는 다양한 관점에서 볼 수 있습니다. 일반적으로 소프트웨어 아키텍처는 기능적인 측면뿐만 아니라 구조적, 프로세스적, 비기능적 측면도 고려합니다.

여러 가지 아키텍처 스타일이 존재하며, 각각의 스타일은 특정한 문제 해결을 위해 특화되어 있습니다. 대표적인 아키텍처 스타일에는 계층형 아키텍처, 클라이언트-서버 아키텍처, 마이크로서비스 아키텍처, 이벤트 기반 아키텍처 등이 있습니다. 이러한 아키텍처 스타일은 소프트웨어 시스템의 특성과 요구 사항에 따라 선택되고 적용됩니다.

반응형

댓글