본문 바로가기

책/오브젝트

[오브젝트] 4장 설계 품질과 트레이드오프 안녕하세요 남갯입니다 오늘은 4장 설계품질과 트레이드 오프에 대해 포스팅 해보려고합니다. - 역할 책임 협력중 가장 중요한것은 책임이다. 책임이 객체지향 어플리케이션 전체의 품질을 결정하는것이다. - 객체지향의 첫번째 관점은 핵심은 책임이다란것, 두번째 관점은 응집도와 결합도 같은 설계품질과 연관되어있다. - 훌륭한 설계란 적절한 비용안에서 쉽게 변경 할 수 있는 응집도 높고 결합도가 낮은 요소로 구성되어있는것 - 객체를 단순하 데이터 집합으로 바라보는 시각은 객체 내부구현을 퍼블릭 인터페이스에 노출시키는 결과를 낳기때문에설계가 변경에 취약해진다. 하지만 이런 문제를 피할 수 있는 방법은 객체에 초점을 맞추는것 객체지향 설계에서 두가지 방법을 이용해 객체를 분할 가능하다. 상태분할의 중심축 , 책임분할의..
[오브젝트] 3장 역할, 책임, 협력 안녕하세요 남갯입니다 오늘은 오브젝트의 역할, 책임, 협력에 대해 포스팅 해보려고 합니다. 객체지향은 "역할 책임 협력" 객체지향 패러다임의 관점에서 '역할', '책임', '협력'이다. 이 세가지가 제자리를 찾지 못한다면 응집도 높은 클래스와 중복없는 상속 계층을 구현한다고 하더라도 어플리케이션은 침몰할것 이다. 객체이향의 본질은 협력하는 객체들의 공동체를 창조하는것이다. 그림과 같이 객체지향의 원칙을 따르는 어플리케이션의 제어흐름은 한 객체에 의해 통제되지 않고 다양한 객체들 사이에 균형있게 분배되는 것이 일반적이다. 객체들은 요청의 흐름을 따라 자신에게 분배된 로직을 실행ㅎ면서 어플리케이션의 전체 기능을 완성한다. 1. 객체들이 어플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 한다...
[오브젝트] 2장 객체 지향 프로그램 안녕하세요 남갯입니다 오늘은 오브젝트 2장 3장에 대해 포스팅 해보려고 합니다. 영화 - 영화는 영화에 대한 기본정보를 표현한다. - 제목, 상영시간 가격정보와 같이 영화가 가지고 있는 기본정보를 가리킬때 영화라는 단어를 사용 상영 - 상영일자, 시간, 순번등을 가리키기 위해 상영이라는 용어를 사용한다. 할인액을 결정하기 위한 조건 할인조건 할인 조건은 가격의 할인 여부를 결정하며 '순서조건' , '기건조건' 두 종류 순서조건 순서조건은 상영순번을 이용해 할인여부를 결정 순번이 10인경우 10번째로 상영되는 영화를 예매한 사용자들에게 할인 혜택을 제공 기간조건 기간조건은 상영시작 시간을 이용해 할인 여부를 결정한다. 요일, 시작시간, 종료시간 세부분으로 구성되며 영화 시작 시간이 해당 기간안에 포함될 경..
[오브젝트] 1장 객체설계 안녕하세요 남갯입니다. 이론보단 실무 이론은 1970년부터 나왔지만 이론보다는 실무가 중요하다고 합니다. 모든 이론의 기반은 실무에서 나온것이고 실무로부터 나온것들을 이론화 한것들이 대부분이기 때문이다. 따라서 실무에서 다양한 규모로 유지보수 하고있지만 효과적인 이론이 발표된것은 거의 없다. 이벤트 시작 소극장 홍보 이벤트를 기획하기로 했다. 당첨자와 일반 관람객을 구분해서 티켓을 판매한 후에 입장시켜야한다. 초대일자를 가지고 있는 초대장 class Invitation {private val whens : LocalDateTime } 티켓을 소지할 수 있는 티켓클래스 class Ticket(val fee : Long = 0L) 소지품을 보관하 가방 클래스 class Bag( val amount: Long..