-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f1e4a27
commit bea2fe8
Showing
1 changed file
with
34 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
## Ch 8. 계층형 설계 1 | ||
|
||
- 소프트웨어 설계란 무엇입니까? | ||
- 코드를 만들고 테스트하고 유지보수하기 쉬운 프로그래밍 방법을 선택하기 위해 미적 감각을 사용하는 것 | ||
- 계층형 설계란 무엇인가요? | ||
- 소프트웨어를 계층으로 구성하는 기술 | ||
- 계층 예시 | ||
- 비즈니스 규칙 (gets_free_shipping) | ||
- 장바구니를 위한 동작들 (remove_item) | ||
- 카피 온 라이트 | ||
- 언어에서 지원하는 배열 관련 기능 | ||
- 설계 감각을 키우기 | ||
- 계층형 설계 감각을 키우기 위한 입력과 출력 | ||
- 계층형 설계 패턴 | ||
- 패턴 1: 직접 구현 | ||
- 패턴 2: 추상화 벽 | ||
- 패턴 3: 작은 인터페이스 | ||
- 패턴 4: 편리한 계층 | ||
- 패턴 1: 직접 구현 | ||
- 직접 구현 패턴을 사용하면 비슷한 추상화 계층에 있는 함수를 호출합니다. | ||
- 같은 계층에 있는 함수는 같은 목적을 가져야 합니다. | ||
- 직접 구현한 코드는 한 단계의 구체화 수준에 관한 문제만 해결합니다. | ||
- 계층형 설계는 특정 구체화 단계에 대한 풍부한 단서를 보여줍니다. | ||
- 함수를 추출하면 더 일반적인 함수로 만들 수 있습니다. | ||
- 일반적인 함수가 많을수록 재사용하기 좋습니다. | ||
- 복잡성을 감추지 않습니다. | ||
- 요점 정리 | ||
- 계층형 설계는 코드를 추상화 계층으로 구성 | ||
- 어떤 구체화 단계로 쓸지 결정하는 것이 중요 | ||
- 함수 이름: 의도를 알려줌 | ||
- 함수 본문: 중요한 세부 사항을 알려줌 | ||
- 내가 정리한 결론 | ||
- 결국 배열을 직접 참조하지 않도록 코드를 구현하라 (함수로 제작) | ||
- 계층 간 차이를 보기 위해서는 호출 그래프를 그리면 쉽다. |