본문 바로가기

구현3

객체지향의 사실과 오해 - 개념, 명세, 구현 - 이 글은 조영호의 객체지향의 사실과 오해를 기반으로 작성되었습니다. (가능하면 꼭 읽어보는것을 추천드립니다.) - 개념, 명세, 구현 UML 관련 서적중 마틴 파울러의 UML Distilled 2판 에서는 객체 지향 설계를 개념 관점, 명세 관점, 구현 관점으로 구분한다. 우선 개념 관점은 도메인안에 존재하는 개념과 개념간의 관계를 나타낸것이다. 도메인은 앞에서 말했듯이 사용자가 관심을 가지는 분야를 의미한다. 이 관점에서는 실제 도메인의 규칙을 최대한 유사하게 반영하는것이 핵심이다. 명세 관점부터는 소프트웨어의 세계로 넘어온다. 명세 관점에서는 What/Who 사이클에서 What 에 해당하는 무엇에 초점을 맞추어서 객체의 인터페이스에 해당하는 관점에 집중한다. 구현 관점은 우리와 같은 프로그래머가 .. 2021. 8. 29.
객체지향의 사실과 오해 - 인터페이스 - 이 글은 조영호의 객체지향의 사실과 오해를 기반으로 작성되었습니다. (가능하면 꼭 읽어보는것을 추천드립니다.) - 인터페이스 인터페이스에는 3 가지 특징이있다. 우선 사용법만 익히면 내부 구조나 동작방식을 몰라도 된다. 또한 내부 구조나 동작방식을 바꾸더라도 사용자에게 영향을 미치지 않는다. 그리고 인터페이스를 변경하지 않으면 사용자와 의사소통에 전혀 문제가 없다는것이다. 앞에서 우리는 메시지의 중요성을 재차 강조했었다. 객체가 다른 객체와 상호작용할 수 있는 유일한 방법은 메시지를 주고 받는것이기 때문에 인터페이스란 객체가 수신할 수 있는 메시지의 목록이라고 할 수 있다. - 책임, 메시지, 인터페이스 여태까지 살펴본 책임, 메시지, 인터페이스를 잠시 정리하는 시간을 가져보자. 맨 먼저 객체의 자율.. 2021. 8. 24.
UML - 패키지 다이어그램 - 구현 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 패키지 구현(Realization) 특정 패키지가 인터페이스를 정의하고 다른 몇 개의 패키지들이 구현하는 경우가 있다. 위의 다이어그램에서 데이터베이스 게이트웨이 패키지에서 인터페이스를 정의하고 나머지 Oracle, SQL Server, Test Stub 이 이를 구현하였다. 이렇게 사용자와 클래스 사이에 인터페이스가 낀다는건 의존성을 끊는다는 의미가 된다. 만약 여러가지 물건의 전원을 켜고 끄는 리모컨을 개발한다고 생각해보자. 여러가지 물건에 대해 작동이 되어야 하지만 의존성이 생기는것은 원하지 않을것이다. 위의 다이어그램에서 Button과 CheckBox는 OnOff 인터페이스에 의존하여 난로와 조명기구의 전원을 제.. 2021. 2. 10.