책/클린 아키텍처16 19장 정책과 수준 19장 정책과 수준태그비어 있음날짜2024년 8월 18일소프트웨어 시스템이란 정책을 기술한 것이다.소프트웨어 아키텍처에는 이러한 정책을 분리하고 재편성하는 일도 포함된다.아키텍처 개발은 컴포넌트들을 재편성할 때 비순환 방향 그래프로 구성하는 기술을 포함한다.정점 : 동일한 수전의 정책을 포함하는 컴포넌트간선 : 컴포넌트 사이의 의존성 ⇒ 좋은 아키텍처는 저수준의 컴포넌트가 고수준 컴포넌트에 의존하도록 설계해야 한다.수준수준 : 입력과 출력까지의 거리입력과 출력에 가까울 수록 저수준, 멀수록 고수준번역 컴포넌트는 입력과 출력에서 가장 멀리 있어서 최고 수준의 컴포넌트이다.데이터 흐름 : 문자읽기 → 번약 → 문자 쓰기소스 코드 의존성 : 경계 안쪽으로 향한다.데이터 흐름과 소스 코드 의존성이 항상 같은 방.. 2025. 3. 18. 18장 경계 해부학 18장 경계 해부학태그비어 있음날짜2024년 8월 1일시스템 아케틱처에서 컴포넌트를 분리하는 경계는 다양한 형태로 나타난다. 몇 가지를 알아보자🛣️ 경계 횡단하기적적할 위치에서 경계를 횡단하는 비결은 소스 코드 의존성 관리에 있음의존성이 있는 소스코드 모듈을 변경하면 다시 컴파일 해서 배포해야 할 수도 있다.경계는 이러한 변경이 전파되는 것을 막는 방화벽을 구축하고 관리하는 수단🛣️ 두려운 단일체함수와 데이터가 단일 프로세서에서 같은 주소 공간을 공유하며 규칙에 따라 분리되어 있는 것→ 소스 수준 분리 모드배포 관점에서 단일 실행 파일 (jar, .EXE파일)은 경계가 드러나지 않는다.경계가 없을까?단일 샐행 파일을 만들더라도 그 안에 포함된 다양한 컴포넌트 수준에 경계가 있다.다형성에 의존하여 내부.. 2025. 3. 18. 17장 경계: 선 긋기 17장 경계: 선 긋기태그비어 있음날짜2024년 7월 25일너무 일찍 결정한 결합에 때문에 인적 자원의 효율을 떨어트린다.시스템의 업무 요구사항, 유스 케이스와 관련없는 결정, 프레임워크, 데이터 베이스 등두 가지 슬픈 이야기너무 이른 결정 : 모든 도메인은 GUI, 미들웨어, 뎅터베이스를 를 위한 3가지 인스턴스를 가져야 한다.⇒ 개발 비용을 증가시킴 SOA를 약속하는 일련의ㅡ 도구들을 너무 일찍 채택하여 적용했다.FitNesse개발하고자 했던 시스템을 UI, 업무 규칙, 데이터베이스 계층으로 적절하게 나누었다.데이터베이스에 대한 선택을 마지막까지 미뤘다.영속성을 구현해야 시점에 flat 파일에 저장하게 구현함(쉬움)업무 규칙과 데이터베이스 사이의 선 긋기를 통해 데이터베이스 구현을 1년 동안 연기할 .. 2025. 3. 18. 16장 독립성 16장 독립성태그비어 있음날짜2024년 7월 25일좋은 아키텍처가 지원해야 하는 것시스템의 유스케이스시스템의 운영시스템의 개발시스템의 배포유스케이스좋은 아키텍처는 행위를 명확히 하고 외부로 드러내 시스템 구조 자체에서 유스케이스가 한눈에 드러나게 만들 수 있다. 운영시스템이 수 밀리초 안에 3차원의 빅데이터 테이블에 질의해야 한다면 이러한 형태를 지원해서 운영작업을 할 수 있는 형태로 아키텍처를 구조화 해야 한다. 개발콘웨이 법칙 : 그 조직과 닮은 구조의 설계를 만든다.다양한 관심사를 가진 많은 팀이 있는 조직에서는 각 팀이 독립적으로 행동하기 편한 아키텍처를 확보해야 한다.배포아키텍처는 배포 용이성을 결정하는데 중요한 역할을 한다.그렇게 하기 위해서 시스템을 컴포넌트 단위로 분할해 격리시켜야 한다.계.. 2025. 3. 18. 이전 1 2 3 4 다음