아키텍처/클린 아키텍처 2

[클린 아키텍처] 아키텍처 청소부 스터디 후기

0. 클린 아키텍처 스터디를 시작하게 된 이유 좋은 기회로 내놓으라 하는 국내 서비스 대표기업에서 주최하는 스터디에 참여할 기회를 얻게 되었습니다. 여러 가지 주제가 있었고, 그중에 선택해서 지원하는 방식이었는데 클린 아키텍처 스터디와, 대규모 시스템 설계 스터디 둘 중에 고민을 하게 되었습니다. 지원 당시에 한참 객체지향에 대해 공부하고 있었습니다. JPA를 공부하고 프로젝트를 시작해보려고 하는데, 어느 메소드를 어느 클래스에 만들어야 하는지가 스스로 명확히 할 수 없었기 때문이었습니다. 어느 정도 객체지향을 공부하고 보니 "그래, 이 객체에 이 역할을 부여해야지"라는 생각이 들기 시작했는데, 이제 문제는 "얘를 어디에 배치하지? "였습니다. 우리가 흔히 접하는 계층형 아키텍처(레이어드 아키텍처)에서도..

[클린 아키텍처] 프로그래밍의 패러다임

엉클 밥의 [클린 아키텍처] 독서 스터디를 진행하며, 느낀 생각들을 정리해 보고자 합니다. 02. 벽돌부터 시작하기: 프로그래밍 패러다임 저자는 "패러다임이란 프로그래밍을 하는 방법으로, 대체로 언어에는 독립적이다."라고 소개합니다. 뒤이어 과거부터 현재까지 존재하는 딱 3가지 패러다임, 구조적 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍에 대한 이야기를 시작합니다. 각 패러다임은 소프트웨어를 개발하는 우리에게 어떠한 권한과 기능을 제공하지 않습니다. 오히려 "제한"을 요구합니다. 구조적 프로그래밍은 goto문을, 객체지향 프로그래밍은 함수 포인터를, 함수형 프로그래밍은 할당문을 개발자에게 사용하지 못하도록 합니다. 이를 통해 각 패러다임에서 얻고자 하는 것을 장점으로 취합니다. 구조적 프로그래밍..