<세상을 설계하는 객체지향 방법론>
저자 : 브렛 맥래프린, 게리 폴리스, 데이빗 웨스트
번역 : 신광연, 박종걸
기간 : 2/8 ~ 진행중
<기록날짜 : 2/8>
29p // 정말 배우고 싶다면, 그리고 더 빠르게, 더 자세하게 배우고 싶다면 자신이 어떤 식으로 주의를 기울이는지에 대해 주의를 기울일 필요가 있습니다.
-> 느린 방법 : 반복
-> 빠른 방법 : 뉴런 활성화 (ex. 대화체(즉, 대화 방식으로 기억을 자극)
31p // 잠깐씩 쉬면서 생각을 해봅시다. 누군가 다른 사람이 정말로 질문을 하고 있다고 생각하세요. 여러분의 두뇌에서 지금 공부하고 있는 것이 중요하다고 느낄 수 있어야 합니다.
49p // (개인적인 생각) "위대한 소프트웨어"은 고객 중심의 소프트웨어라 생각해요!
51p // 문제를 해결하면서 새로운 문제 만들지 않기
83p // 고객이 원하는 기능 -> 객체지향의 기본 원리를 이용한 유연화 -> 유지보수 및 재사용
<기록날짜 : 2/9>
98p // 시스템이 올바르게 동작하는지는 고객이 결정합니다.
103p // 좋은 요구 사항을 얻는 가장 좋은 방법은 시스템이 무엇을 해야 하는지 이해하는 것입니다.
113p // 하나의 유스케이스가 하나의 특정 목표를 달성하는데 초점을 맞춘다.
142p // 좋은 유스케이스는 시작 조건, 종료 조선, 외부 구동자, 사용자의 명확한 가치를 가지고 있다.
147p // 실제로 요구사항은 항상 변한다.
198p // 위임은 여러분의 객체들을 다른 객체들의 구현 상의 변화로부터 보호합니다.
247p//
public abstract class InstrumentSpec
public class GuitarSpec extends InstrumentSpec
public class MandolinSpec extends InstrumentSpec
260p // 구현보다는 인터페이스에 의존하도록 코디앟는 것이 소프트웨어를 확장이 용이하게 합니다.
264p // 소프트웨어에서 변하지 않는 진리는 소프트웨어는 변한다는 것입니다.
268p // 객체지향 원리
1. 변하는 것을 캡슐화하라
2. 구현에 의존하기보다는 인터페이스에 의존하도록 코딩하라
3. 각 클래스는 변경 요인이 오직 하나이여야 한다.
282p // 어려운 일 중의 하나가 자신의 디자인 오류를 알아내는 것입니다.
왜냐하면 처음에는 일리 있는 디자인 같았기 때문에, 이미 잘 동작한다고 생각하는 것을 바꾸는 것이 어렵기 때문입니다. -> 자존심은 좋은 디자인에 방해됩니다.
291p // 대부분의 좋은 디자인은 나쁜 디자인의 분석을 통해 나옵니다.
->실수하는 것과 변경하는 것을 절대 두려워하지 마세요.