객체지향

Growing Object-Oriented Software, Guided by test

인상 깊은 단락 원서 페이지 기준 p269 로깅에 대한 테스트

오브젝트

인상 깊은 단락 맥락에 따라 이해해야하므로 책을 사서 전문을 꼭 읽어봐야한다. 들어가며 과학적 패러다임과 프로그래밍 패러다임과 차이점 p3 우리가 사용하는 패러다임은 ‘한 시대의 사회 전체가 공유하는 이론이나 방법, 문제의식 체계'를 의미한다. p5 프로그래밍 패러다임은 개발자 공동체가 동일한 프로그래밍 스타일과 모델을 공유할 수 있게 함으로써 불필요한 부분에 대한 의견 충돌을 방지한다. 또한 프로그래밍 패러다임을 교육시킴으로써 동일한 규칙과 방법을 공유하는 개발자로 성장할 수 있도록 준비시킬 수 있다. p6 쿤은 상이한 두 가지 패러다임이 있을 때 두 패러다임은 함께 존재할 수 없다고 주장했다.

자바 객체지향의 원리와 이해

정리 116쪽 MSDN 원문일부 (https://msdn.microsoft.com/en-us/library/27db6csx%28v=vs.90%29.aspx) In an “is a” relationship, the derived class is clearly a kind of the base class.

객체 지향의 사실과 오해

인상싶은 내용 31쪽 외부의 도움을 무시한 채 모든 것을 스스로 처리하려고 하는 전지전능한 객체(god object)는 내부적인 복잡도에 의해 자멸하고 만다. 68쪽 소프트웨어 안에 구축되는 객체지향 세계는 현실을 모방한 것이 아니다. 현실의 모습을 조금 참조할 뿐 궁극적인 목적은 현실과 전혀 다른 새로운 세계를 창조하는 것이다. 또한 객체지향 세계는 현실의 추상화가 아니다. 오히려 객체지향 세계의 거리는 현실 속의 객체보다 더 많은 특징과 능력을 보유한 객체들로 넘쳐난다. 131쪽 이름에서 풍기는 늬앙스와는 달리 테스트-주도 개발은 테스트 작성이 아니다.

Head First Object Oriented Analysis & Design

인상 싶은 부분 Chapter 2 (번역판 p109) 유즈케이스는 새로 만든 시스템이나 소프트웨어 변경 사항에 대한 요구사항을 찾아내는 방법입니다. 각 유즈케이스는 특정목표를 달성하기 위해 시스템이 사용자 또는 다른 시스템과 어떻게 상호작용하는지를 전달하는 하나 이상의 시나리오를 제공합니다.

Head First Design Pattern

https://www.yes24.com/Product/Goods/108192370 2판에서 달라진점 페이지별 제목이 큰 흐름 맥락에서의 목적을 드러내는 방식으로 바뀌고 기존 제목은 작게 표시 예: 바뀌는 부분을 찾아내봅시다 -> 최첨단 피자코드 만들기(바뀌는 부분을 찾아내봅시다) 복습하거나 중간에 있는 내용을 찾아보기에는 더 편해진 느낌이다. 낱말퀴즈가 전반적으로 바뀌어 있음. 2장 옵져버 패턴 java.util.Observer를 쓰던 예제가 2판에서는 직접 정의한 인터페이스를 쓰도록 변경 Java8이후에는 java.util.Observer 등이 거의 안 쓰인다는 설명도 추가 됨. 5장 싱글턴 패턴 Q&A에서 2가지 질문 추가 (p218) 리플렉션, 직렬화 역질력화에서의 문제는 없는지 느슨한 결합 원칙에 위배되지 않는지 Enum을 이용한 싱글턴 구현 소개 (p219) 6장 커맨드 패턴 구상 커맨트 객체를 람다 표현식으로 바꾸는 예제 추가 (p250) Swing 예제로도 커맨드 패턴 설명 (p265, p270) 7장 템플릿 메서드 Applet 예제를 AbstractList를 활용하는 예제로 대체 (p343) 8장 반복자 패턴, 컴포지트 패턴 Iterable 인터페이스, 향상된 for 구문에 대한 설명 추가 (p377-379) 복합 반복자, 널 반복자 등의 내용은 삭제됨 (1판의 p406~p413) 패턴과 설명 연결 퀴즈에서 스테이트 패턴이 빠지고 전략 패턴이 들어감(1판 p417, 2판 p409) 11장 프록시 패턴 동적 클래스 다운로딩 방식 설명 삭제(1판 p486) 인터페이스 이름 변경 PersonBean -> Person (1판 p513-514, p517, 2판 p504-505, p508) Q&A에서 RMI관련 질문 2개 삭제(1판 p524, 2판 p514) 정리 7장 템플릿 메서드 Array.