# clean architecture

83개의 포스트

[iOS] Clean Architecture

사진출처위 그래프를 간단히 설명하자면Clean Architecture 그래프에서 볼 수 있듯이 애플리케이션에는 서로 다른 계층이 있다. main rule은 내부 레이어에서 외부 레이어로의 종속성(dependency)을 갖지 않는 것 (내부 -> 외부 ❌)외부 계층에서

7일 전
·
0개의 댓글
post-thumbnail

[Android] Clean Architecture

이 글은 앱 아키텍처 가이드와 찰스의 안드로이드 블로그를 참고해 공부하고 정리한 글입니다.클린 아키텍처는 로버트 C.마틴이 제시한 소프트웨어 설계 방식입니다. 계층을 나누어 관심사를 분리하는 것이 목표이고, 이런 아키텍처가 동작하기 위해서는 의존성 규칙을 지켜야 한다고

2022년 6월 19일
·
0개의 댓글
post-thumbnail

clean + hexagonal architecture

presentaition businessdata layerdatabase and messageing아키텍쳐가 중요한 이유뭘하는지 알 수 있지hexagonal architecute plugin architectureentity valueshas identity , his

2022년 6월 18일
·
0개의 댓글
post-thumbnail

[clean architecture] 9. LSP: 리스코프 치환 원칙

1988년 바바라 리스코프는 하위 타입을 아래와 같이 정의했다.여기에서 필요한 것은 다음과 같은 치환원칙이다. S 타입의 객체 o1 각각에 대응하는 T타입 객체 o2가 있고, T타입을 이용해서 정의한 모든 프로그램 P에서 o2의 자리에 o1을 치환하더라도 P의 행위가

2022년 6월 18일
·
0개의 댓글
post-thumbnail

[SOLID] 단일 책임 원칙 (SRP)

SRP 란? 정의 딱딱한 SRP 의 정의?! 객체 지향 프로그래밍에서 모든 클래스는 하나의 책임만을 가지며 클래스는 그 책임을 완전히 캡슐화 해야 함을 일컫는다. 클래스가 제공하는 모든 기능은 이 책임과 주의 깊게 부합해야 한다. 캡슐화는 데이터와 데이터를 처

2022년 6월 4일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 부록 A :: 아키텍처 고고학

애플리케이션이 시작되면 특정 터미널 버퍼가 가득 찰 때까지 출력을 생성버퍼가 가득 차면 감시 프로그램은 해당 애플리케이션을 스왑 아웃하고 새로운 어플리케이션을 스왑 인감시 프로그램은 터미널 버퍼가 거의 빌 때까지 버퍼의 내용을 초당 30문자의 속도로 흘려보냄그 후 애플

2022년 6월 4일
·
0개의 댓글
post-thumbnail

[Android] 클린 아키텍처, 어느정도가 적당한가?

클린 아키텍처로 프로젝트를 진행하면서 겪었던 많은 고민을 공유하기 위해 글을 작성하게 되었습니다. 늘 그랬듯 많은 관심과 지적 부탁드립니다. 안드로이드 앱 개발을 시작하던 초기에, 같이 프로젝트를 진행하면서 멘토였던 선배로부터 디자인 패턴과 함께 아키텍처라는 개념을

2022년 6월 3일
·
2개의 댓글
post-thumbnail

(AOS)Android App Architecture

목적 : Android App 권장 Architecture를 이해하기 1. Android Developer 레퍼런스 문서 AAC에 대해서 문서로 남기기로 마음을 먹고 디벨로퍼 레퍼런스 문서를 보게 되었는데 아주 잘되어 있음을 느꼈습니다. 샘플소스도 엄청나게 많았고,

2022년 4월 29일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 28장 :: 테스트 경계

📕 시스템 컴포넌트인 테스트 작은 테스트 이든, 대규모 테스트이든 아키텍처적으로 모두 동등하다. 테스트는 의존성 규칙을 따른다. 의존성은 항상 테스트 대상이 되는 코드를 향한다. 실제로 테스트는 아키텍처에서 가장 바깥쪽 원에 해당되며 시스템 내부의 어떤것도

2022년 4월 27일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 27장 :: '크고 작은 모든' 서비스들

📕 서비스 아키텍처 서비스는 프로세스나 플랫폼 경계를 가로지르는 함수 호출에 지나지 않는다. 아키텍처 관점에서 중요한 서비스도 있지만, 중요하지 않은 서비스도 존재한다. 이 장에서는 서비스 아키텍처의 장점에 대해 알아본다. 📗 서비스의 이점? 📍 결합 분리

2022년 4월 27일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 26장 :: 메인(Main) 컴포넌트

📕 궁극적인 세부사항 메인 컴포넌트는 궁극적인 세부사항으로 가장 낮은 수준의 정책이다. 시스템의 초기 진입점 어떤 것도 메인에 의존 X 시스템에서 더 높은 수준을 담당하는 부분으로 제어권을 넘긴다. ex) 움퍼스 게임에서 main 함수에서 게임의 메인 루프, 입력 명령어 해석을 처리하지만 명령어의 실제 처리는 다른 고수준 컴포넌트로 위임시킴. 메인은 ...

2022년 4월 27일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 23장 :: 프레젠터와 험블 객체

📕 험블 객체 패턴 테스트하기 어려운 행위와 테스트하기 쉬운 행위를 분리하기 쉽게 하는 목적으로 고안 행위를 두개의 모듈이나 클래스로 나눈다. 이중 하나가 험블이다. 가장 기본적인 본질은 남기고, 테스트 하기 어려운 행위를 모두 험블 객체로 옮긴다. 나머지 모듈에는 험블 객체에 속하지 않은, 테스트하기 쉬운 행위를 모두 옮긴다. 험블 객체 패턴을 ...

2022년 4월 27일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 22장 :: 클린 아키텍처

다양한 아키텍처의 공통적인 목표는 관심사의 분리 이다. 계층으로 분리하여 관심사를 분리한다. 각 아키텍처는 최소한 업무 규칙을 위한 계층 하나와, 사용자와 시스템 인터페이스를 위한 또 다른 계층 하나를 반드시 포함한다. 아키텍처들은 모두 시스템이 다음과 같은 특징을

2022년 4월 27일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 21장 :: 소리치는 아키텍처

📕 아키텍처의 테마 이바 야콥슨(ivar Jacobson)이 소프트웨어 아키텍처에 대해 쓴 독창적인 저서인 《Object Oriented Software Engineering》을 읽어보자. 이 책의 부제가 유스케이스 주도 접근법(Use Case Driven Approach)이라는 점을 주목하자. 야콥슨은 소프트웨어 아키텍처는 시스템의 유스케이스를 지원하...

2022년 4월 27일
·
0개의 댓글

클린 아키텍처의 Layer 의존성에 대한 고찰

일반적인 클린 아키텍처 구조에 속하지 않는 모듈의 의존성에 대한 고찰

2022년 4월 21일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 20장 :: 업무 규칙

핵심 규칙과 핵심 데이터는 본질적으로 결합되어 있기 때문에 객체로 만들 좋은 후보가 된다. 이러한 유형의 객체를 엔티티(Entity)라고 부른다. 📕 엔티티 컴퓨터 시스템 내부의 객체 핵심 업무 데이터를 기반으로 동작하는 일련의 조그만 핵심 업무 규칙을 구체화

2022년 4월 7일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 16장 :: 독립성

좋은 아키텍처는 다음을 지원해야 한다. 시스템의 유스케이스 시스템의 운영 시스템의 개발 시스템의 배포 📕 유스케이스 시스템의 아키텍처는 시스템의 의도를 지원해야 한다는 뜻이다. 좋은 아키텍처가 행위를 지원하기 위해 할 수 있는 일 중에서 가장 중요한 사항은 행위를 명확히 하고 외부로 드러내며, 이를 통해 시스템이 지닌 의도를 아키텍처 수준에서 알아...

2022년 4월 7일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 15장 :: 아키텍처란?

소프트웨어 아키텍트는 최고의 프로그래머이며, 코드와 동떨어져서는 안된다. 동시에,나머지 팀원들이 생산성을 극대화 할 수 있는 설계를 하도록 이끈다. 아키텍처의 주된 목적은 시스템의 생명주기를 지원하는 것이다. 좋은 아키텍처는 시스템을 쉽게 이해하고, 쉽게 개발하며,

2022년 4월 7일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 14장 :: 컴포넌트 결합

📕 ADP: 의존성 비순환 원칙 > 컴포넌트 의존성 그래프에 순환(cycle)이 있어서는 안 된다. 대규모 프로젝트에서 서로 의존하는 부분을 다른 사람이 건들여서 숙취 증후군이 발생한다. 이 문제의 해결책으로 다음 두 가지 방법이 있다. 주 단위 빌드(week

2022년 4월 7일
·
0개의 댓글
post-thumbnail

[Clean Architecture] 13장 :: 컴포넌트 응집도

📕 REP: 재사용/릴리스 등가 원칙 > 재사용 단위는 릴리스 단위와 같다. 단일 컴포넌트는 응집성 높은 클래스와 모듈들로 구성되어야 한다. 하나의 컴포넌트로 묶인 클래스와 모듈은 함께 릴리스 가능해야 한다. 📗 CCP: 공통 폐쇄 원칙 > 동일한 이유로 동일

2022년 4월 7일
·
0개의 댓글