책55 16장 독립성 16장 독립성태그비어 있음날짜2024년 7월 25일좋은 아키텍처가 지원해야 하는 것시스템의 유스케이스시스템의 운영시스템의 개발시스템의 배포유스케이스좋은 아키텍처는 행위를 명확히 하고 외부로 드러내 시스템 구조 자체에서 유스케이스가 한눈에 드러나게 만들 수 있다. 운영시스템이 수 밀리초 안에 3차원의 빅데이터 테이블에 질의해야 한다면 이러한 형태를 지원해서 운영작업을 할 수 있는 형태로 아키텍처를 구조화 해야 한다. 개발콘웨이 법칙 : 그 조직과 닮은 구조의 설계를 만든다.다양한 관심사를 가진 많은 팀이 있는 조직에서는 각 팀이 독립적으로 행동하기 편한 아키텍처를 확보해야 한다.배포아키텍처는 배포 용이성을 결정하는데 중요한 역할을 한다.그렇게 하기 위해서 시스템을 컴포넌트 단위로 분할해 격리시켜야 한다.계.. 2025. 3. 18. 15장 아키텍처란? 15장 아키텍처란?태그비어 있음날짜2024년 8월 1일소프트웨어 어키텍트는 코드를 탈피하고 고수준에 문제만 집중하는 것이 아니다. 소프트웨어 아키텍트는 코드와 동떨어져서는 안 된다.소프트웨어 시스템의 아키텍처란 시스템을 구축했던 사람들이 만들어낸 시스템의 형태다.시스템 아키텍처의 최우선 목표 💡이러한 일을 용이하게 만들기 위해서는 가능한 한 많은 선택지를, 가능한 한 오래 남겨두는 전략을 따라야 한다. 시스템 아키텍처는 시스템 동작 여부와는 거의 관련이 없다.형편없는 아키텍처는 운영은 괜찮지만 배포, 유지보수, 개발 과정에서 어려움을 겪는다. 아키텍처의 주된 목표 : 시스템의 생명주기를 지원하는 것 시스템의 수명과 관련된 비용 최소화, 프로그래머의 생산성 최대화 🔎 개발팀 구조가 다르면 아키텍처도 .. 2025. 3. 18. 13장 컴포넌트 응집도 13장 컴포넌트 응집도태그비어 있음날짜2024년 5월 8일어느 클래스를 어느 컴포넌트에 포함 시켜야 할까?소프트웨어 엔지니어링 원칙의 도움을 받아보자 컴포넌트 응집도와 관련된 세 가지 원칙🏁 REP: 재사용/릴리스 등가 원칙재사용 단위는 릴리스 단위와 같다.릴리스 절차를 통해 추적해서 관리되지 않는다면 컴포넌트를 재사용 할 수 없을 것이다.⇒ 컴포넌트가 서로 호응되는지 보증할 방법이 없다.새로운 버전이 언제 출시되고 무엇이 변했는지를 소프트웨어 개발자들이 알아야한다.적절한 공지와 문서도 작성되어야 함💡소프트웨어 설계와 아키텍처 관점에서 보면 단일 컴포넌트는 응집성 높은 클래스와 모듈들로 구성되어야 함을 뜻한다. 다음에 나오는 원칙 CCP,CRP는 이원칙에 제약을 가하는 측면에서 정의한다.🏁 CCP:.. 2025. 3. 18. 11장 DIP: 의존성 역전 원칙 11장 DIP: 의존성 역전 원칙태그비어 있음날짜2024년 4월 27일의존성 역전 원칙에서 말하는 '유연성이 극대화된 시스템'이란 소스코드 의존성이 추상에 의존하며 구체에는 의존하지 않는 시스템이다.이 아이디어는 확실히 비현실적이다.소프트웨어 시스템이라면 구체적인 많은 장치에 의존하기 때문이다.String 클래스처럼 변경될 일이 거의 없다.이처럼 변경될 일이 거의 없는 운영체제나 플랫폼 같은 안정적인 환경은 DIP를 논할 때 무시하는 편이다.변경되지 않는다면 의존할 수 있다는 사실을 이미 알고 있기 때문이다.우리가 의존하지 않도록 피하고자 하는 것은 바로 변동성이 큰 구체적인 요소다.안정된 추상화추상 인터페이스에 변경이 생기면 이의 구현체들도 수정해야 한다. 반대는 x→ 인터페이스는 구현체보다 변동성이 .. 2025. 3. 18. 이전 1 2 3 4 5 6 7 8 ··· 14 다음