close
더북(TheBook)
search
객체지향 시스템 디자인 원칙
더북(TheBook)
home
Home
1장 모든 게 복잡도 관리다
1.1 객체지향 디자인과 시간이 주는 시련
1.2 단순한 객체지향 시스템 디자인
1.2.1 단순한 코드
1.2.2 일관성 있는 객체
1.2.3 적절한 의존성 관리
1.2.4 좋은 추상화
1.2.5 외부 의존성과 인프라 적절히 다루기
1.2.6 좋은 모듈화
1.3 일상적인 활동으로서의 단순한 디자인
1.3.1 복잡성 줄이기는 개인 위생과 비슷하다
1.3.2 복잡성이 필요할 수도 있지만 영구적이어서는 안 된다
1.3.3 지속적으로 복잡성을 해결하는 것이 비용 효율적이다
1.3.4 고품질 코드는 좋은 실무 프랙티스를 촉진한다
1.3.5 복잡성을 통제하는 것은 생각보다 어렵지 않다
1.3.6 디자인을 단순하게 유지하는 것은 개발자의 책임이다
1.3.7 이 정도면 충분히 좋은 디자인이다
1.4 정보 시스템의 아키텍처에 대해 간략히 살펴보기
1.5 예제: 피플그로우!
1.6 연습문제
1.7 요약
4장 의존성 관리하기
4.1 고수준 코드와 저수준 코드를 분리하라
4.1.1 안정적인 코드를 디자인하라
4.1.2 인터페이스 발견
4.1.3 고수준 코드와 저수준 코드를 분리하지 않아도 되는 경우
4.1.4 예제: 메시지 처리 작업
4.2 불필요한 세부 사항이나 요소에 의존하는 것을 피하라
4.2.1 여러분이 소유한 클래스만 요구하거나 반환하라
4.2.2 예제: HTTP 봇을 채팅 SDK로 대체하기
4.2.3 클라이언트에게 필요한 것 이상을 제공하지 마라
4.2.4 예제: 오퍼링 목록
4.3 너무 많은 클래스에 의존하는 클래스를 분리하라
4.3.1 예제: MessageSender 서비스 분리하기
4.4 의존성을 주입하라(의존성 주입을 사용하라)
4.4.1 상태를 변경하는 작업에 정적 메서드를 사용하지 마라
4.4.2 항상 협력자를 주입하라: 그 외에는 원하는 대로 하라
4.4.3 클래스와 의존성을 함께 생성하는 전략
4.4.4 예제: MessageSender와 협력자들의 의존성 주입
4.5 연습문제
4.6 요약
▲ 그림 4-4
의존성을 그룹화하기 전 MessageSender의 모습
Prev
BUY
Next
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.
Email address