소개
- 구성
- 저자
- 코딩 스타일에 대해
- 코드가 갖는 문제
좋은 코드 작성하기는 어렵다
- 나쁜 코드 쓰기는 쉽다
- 어떤 것도 테스트 할 수 없다
- 바꾸면 다 망가진다
- 프레임워크에 살고 프레임워크에 죽는다
- 모든 라이브러리를 사용하고 싶다
- 좋은 코드 쓰기
아키텍처란 무엇인가?
- 아키텍처는 어떻게 생겼는가?
- 소프트웨어 레이어
- 나쁜 아키텍처의 사례
- 나쁜 아키텍처의 비용
우리의 적 커플링
- 스파게티 커플링
- 왜 커플링이 적인가?
- 어떻게 하면 커플링을 줄일 수 있을까?
- 디커플링 툴박스
디자인 패턴 기초
- 팩토리 패턴 (The Factory Patterns)
- 추상 팩토리는 팩토리 메서드를 사용한다
- 리포지토리 패턴
- 어댑터 패턴
- 전략 패턴
- 최적화 기회
- 디자인 패턴 더 배우기
SOLID 디자인 원칙
- 단일 책임 원칙
- 개방/폐쇄 원칙
- 리스코프 치환 원칙
- 인터페이스 분리 원칙
- 의존성 역전 원칙
- SOLID 원칙 적용
의존성 주입
- 제어의 역전
- 의존성 주입은 언제 쓰는가
- 많은 의존성 다루기
- 우리는 여전히 커플링 되어 있는가?
인터페이스로 계약 작성하기
- PHP에서의 인터페이스
- 인터페이스를 타입 힌트로 사용하기
- 리스코프 치환 원칙
- 인터페이스를 계약으로 사용하기
- 제삼자 코드를 계약을 따르게 만들기
어댑터로 추상화하기
- 어댑터 세팅하기
- 이게 어떻게 도움이 되는가?
- 클린 아키텍처
MVC, 그리고 MVC의 한계
- 다이어그램으로 보는 MVC
- MVC 구성요소
- 라우팅
- MVC만으론 충분하지 않다
- 비만 모델
- 모든 것을 위한 더 많은 레이어!
클린 아키텍처
- 클린 아키텍처
- 양파 아키텍처
프레임워크 독립성
- 프레임워크의 문제
- 프레임워크 독립성
- 손이 많이 간다
데이터베이스 독립성
- 도메인 모델
- 도메인 서비스
- 데이터베이스 인프라스트럭쳐 / 영속성
- 코드 조직화하기
- 요약
외부 기관 독립성
- 인터페이스, 어댑터, 의존성 주입 사용하기
- 이득
- 클린 아키텍처 사례 연구
과금 시스템
- 애플리케이션 워크플로우
- 사전준비
도메인 구축하기
- 프로젝트 세팅하기
- 엔티티 만들기
- 도메인 서비스
- 요약
젠드 프레임워크 2 준비
- 컴포저로 설치하기
- 스켈레톤 지우기
- 데이터베이스 세팅하기
- 테이블 게이트웨이 팩토리
- 요약
젠드 프레임워크 2로 애플리케이션 만들기
- 고객 관리
- 주문 관리
- 송장 관리
독트린 2
- 영속성 레이어 재구축하기
- 독트린 기반 레파지토리 만들기
- 엔티티 맵핑
- Doctrine과 젠드 프레임워크 통합하기
- 새 레파지토리 주입하기
- 수화기 업데이트
- 요약
라라벨로 전환하기
- 라라벨 세팅하기
- 독트린 설정하기
- 대시보드 세팅
- 고객 관리
- 주문 관리
- 송장 관리
- 다음 단계
- 요약