[공부] 독서/객체지향의 사실과 오해(3)
-
[2019.02.21] 객체지향의 오해와 진실 (7장~부록)
7장 Composition 관계 메뉴판 ◆― 메뉴 part of 관계 Aggregation 관계 메뉴 ◇― 이름 has a 관계 Association 관계 메뉴판 ―― 손님 도메인 모델에서 어떤 관계가 어떤 관계이고 이런 것은 중요하지 않다. 훌륭한 코드를 위한 3가지 관점- 개념 관점- 명세 관점- 구현 관점 인터페이스와 구현을 분리하라 (명세와 구현의 분리) 부록클래스는 객체가 공유하는 본질적인 속성을 정의한다.서브타입은 슈퍼타입의 부분집합이다. 100% 규칙 : 슈퍼 타입의 정의는 100% 서브타입에 적용돼야만 한다. 상속에서 구조적인 순응 : 100% 규칙상속에서 행위적인 순응 : 다형성 서브 타이핑 : 인터페이스 상속 - 설계의 유연성이 목표서브 클래싱 : 구현 상속 - 코드의 중복 제거가 목표..
2019.02.21 -
[2019.02.20] 객체지향의 사실과 오해 (5~6장)
5장자율적인 객체 = 스스로 정한 원칙으로 행동하는 객체객체가 행동하는 이유 = 다른 객체로부터 요청을 수신받았기때문 객체 B가 객체 A에게 목표 A를 수행하기 위해 행동 A를 하라고 하는 것은 자연스럽다.객체 B가 객체 A에게 목표 A를 수행하기 위해 행동 a,b,c,d를 순차 수행하라고 하는 것은 부자연스럽다.이 경우 객체 A는 목표 A를 위해 행동하는 것이 자유롭지 못하고 객체 B에 의존적이다. 메시지가 추상적이면 안된다.메시지는 어떻게가 아니라 무엇을 해야하는지 설명해야한다. (어떻게 = a,b,c,d, 무엇을 = A)메시지를 명시할 때 어떻게 수행될 지에대해 명시할 필요가 없다. 무엇이 실행되는지를 명시한다. 다형성= 동일한 메시지에 다르게 반응하는 것= 대체 가능성= 재사용 가능성= 확장이 가..
2019.02.21 -
[2019.02.19] 객체지향의 사실과 오해 (1장~4장)
객체지향 개발 5대 원리 : SOLID S 단일 책임 O 개방, 폐쇠 L 다형성 I 인터페이스 분리 D Dependency injection 1장객체지향의 목표 : 목표를 달성하기 위한 협력과 맡은바 역할과 책임을 다하는 것객체지향의 시작 : 적절한 객체에게 적절한 책임을 할당하는 것 객체는 자율적이고 협력적이여야한다.협력적이란 것은 개방적이란 것이다. 자율적이란 것은 외부의 간섭받지않고 스스로 결정가능하다는 것이다. request = 메시지 request caller = senderrequest callee = recieverrequest 처리 = 메소드 '클래스' 지향 프로그래밍이 아니라 '객체' 지향 프로그래밍임을 유념해라.어떤 클래스가 필요한가가 아닌 어떤 객체가 어떻게 통신해서 협력할 것인가를 ..
2019.02.19