클린 아키텍처 인 PHP
클린 아키텍처 인 PHP
책에 대해
처음엔 개발 속도도 빠르고 잘 진행되는 것 같았는데, 언젠가부터 진도가 안나간다. 아주 간단한 기능 하나 추가하는데도 하세월이 걸린다. 건드리지도 않았는데 전혀 관련없는 코드에서 버그가 난다. 테스트를 작성할 시간 같은건 애초에 존재하지도 않았다. 어쨋든 지금은 다 깨져서 옴짝달싹 못하게 되버렸다.
이쯤되면 즐거웠던 프로그래밍이 재미없는 일이 되버린다.
애플리케이션의 구조를 잘 잡는게 중요하다. 방향을 잘못잡으면 나중에 악몽에 시달리게되고, 새로운 요구사항에 맞게 애플리케이션을 리팩토링하기가 거의 불가능해진다. 비록 이 책에서 소개하는 방법이 애플리케이션을 개발하는 유일무이한 방법은 아니지만 다음과 같은 특징을 갖도록 개발할 수 있게 도와줄 것이다.
- 테스트 가능한
- 리팩토링 가능한
- 작업하기 쉬운
- 유지보수하기 쉬운
이 책은 엉클 밥이 제시한 클린 아키텍처가 무엇인지, PHP에선 이를 어떻게 구현할 수 있는지 소개한다. 뿐만 아니라 SOLID의 개념, 다양한 디자인 패턴과 아키텍처도 함께 설명한다.
목차
-
-
소개
- 구성
- 저자
- 코딩 스타일에 대해
-
소개
-
코드가 갖는 문제
-
좋은 코드 작성하기는 어렵다
- 나쁜 코드 쓰기는 쉽다
- 어떤 것도 테스트 할 수 없다
- 바꾸면 다 망가진다
- 프레임워크에 살고 프레임워크에 죽는다
- 모든 라이브러리를 사용하고 싶다
- 좋은 코드 쓰기
-
아키텍처란 무엇인가?
- 아키텍처는 어떻게 생겼는가?
- 소프트웨어 레이어
- 나쁜 아키텍처의 사례
- 나쁜 아키텍처의 비용
-
우리의 적 커플링
- 스파게티 커플링
- 왜 커플링이 적인가?
- 어떻게 하면 커플링을 줄일 수 있을까?
-
좋은 코드 작성하기는 어렵다
-
디커플링 툴박스
-
디자인 패턴 기초
- 팩토리 패턴 (The Factory Patterns)
- 리포지토리 패턴
- 어댑터 패턴
- 전략 패턴
- 디자인 패턴 더 배우기
-
SOLID 디자인 원칙
- 단일 책임 원칙
- 개방/폐쇄 원칙
- 리스코프 치환 원칙
- 인터페이스 분리 원칙
- 의존성 역전 원칙
- SOLID 원칙 적용
-
의존성 주입
- 제어의 역전
- 의존성 주입은 언제 쓰는가
- 많은 의존성 다루기
- 우리는 여전히 커플링 되어 있는가?
-
인터페이스로 계약 작성하기
- PHP에서의 인터페이스
- 인터페이스를 타입 힌트로 사용하기
- 인터페이스를 계약으로 사용하기
- 제삼자 코드를 계약을 따르게 만들기
-
어댑터로 추상화하기
- 어댑터 세팅하기
- 이게 어떻게 도움이 되는가?
-
디자인 패턴 기초
-
클린 아키텍처
-
MVC, 그리고 MVC의 한계
- 다이어그램으로 보는 MVC
- MVC 구성요소
- 라우팅
- MVC만으론 충분하지 않다
- 비만 모델
- 모든 것을 위한 더 많은 레이어!
-
클린 아키텍처
- 클린 아키텍처
- 양파 아키텍처
-
프레임워크 독립성
- 프레임워크의 문제
- 프레임워크 독립성
- 손이 많이 간다
-
데이터베이스 독립성
- 도메인 모델
- 도메인 서비스
- 데이터베이스 인프라스트럭쳐 / 영속성
- 코드 조직화하기
- 요약
-
외부 기관 독립성
- 인터페이스, 어댑터, 의존성 주입 사용하기
- 이득
-
MVC, 그리고 MVC의 한계
-
클린 아키텍처 사례 연구
-
과금 시스템
- 애플리케이션 워크플로우
- 사전준비
-
도메인 구축하기
- 프로젝트 세팅하기
- 엔티티 만들기
- 도메인 서비스
- 요약
-
젠드 프레임워크 2 준비
- 컴포저로 설치하기
- 스켈레톤 지우기
- 데이터베이스 세팅하기
- 테이블 게이트웨이 팩토리
- 요약
-
젠드 프레임워크 2로 애플리케이션 만들기
- 고객 관리
- 주문 관리
- 송장 관리
-
독트린 2
- 영속성 레이어 재구축하기
- 독트린 기반 레파지토리 만들기
- 엔티티 맵핑
- Doctrine과 젠드 프레임워크 통합하기
- 새 레파지토리 주입하기
- 수화기 업데이트
- 요약
-
라라벨로 전환하기
- 라라벨 세팅하기
- 독트린 설정하기
- 대시보드 세팅
- 고객 관리
- 주문 관리
- 송장 관리
- 다음 단계
- 요약
-
과금 시스템
- Notes
Leanpub의 60일 간 100%만족 보장
구매일로부터 60일안에 어떤 결제든 클릭 두번으로 전액 환불을 받을 수 있습니다.
전체 약관 확인하기
10달러 구매 시 8달러, 20달러 구매 시 16달러를 벌 수 있습니다
우리는 7.99달러 이상 구매에 대해 80% 로열티를 지급하고, 0.99달러에서 7.98달러 사이의 구매에 대해 80% 로열티에서 50센트의 고정 수수료를 뺀 금액을 지급합니다. 10달러 판매 시 8달러, 20달러 판매 시 16달러를 벌 수 있습니다. 따라서 20달러에 책을 5000권 판매하고 환불되지 않았다면, 80,000달러를 벌 수 있습니다.
(네, 이미 Leanpub에서 그보다 훨씬 더 많이 번 작가도 있습니다.)
실제로 작가들은 Leanpub에서1300만 달러 이상을 벌어들였습니다. 작성, 출판 및 판매를 통해.
Leanpub에서 작성에 대해 자세히 알아보세요
무료 업데이트. DRM(디지털 저작권 관리)는 없습니다.
당신이 Leanpub의 책을 산다면, 작가가 책을 업데이트 하는 한 책에 대한 무료 업데이트를 받을 수 있습니다! 많은 작가들은 Leanpub을 작성 중인 책을 출판하기 위해 이용합니다. 모든 독자들은 책을 언제 구매하건, 얼마나 지불하였건(무료 구매도 포합됩니다) 관계없이 무료 업데이트를 받습니다.
대부분의 Leanpub에 있는 책들은 PDF(컴퓨터용), EPUB(핸드폰과 태블릿용) 그리고 MOBI(킨들용)으로 제공됩니다. 책이 지원하는 포맷은 이 페이지 우측 상단에서 확인 할 수 있습니다.
Leanpub의 책은 DRM 사본 보호 장치를 드디어 없앴습니다, 그래서 지원가능한 어떤 기기로든 쉽게 구매하신 책들을 읽을 수 있습니다.