2006/11/05 10:03 Developer
Object Design
object란 단어는 대학을 다닐때 내가 처음 자바를 접했을때부터 무척이나 헷갈리는 단어중의 하나였다. 그때는 object는 무엇이고, class는 무엇이고,instance는 무엇이냐? 대부분의 번역서를 보면, 같은 의미로 번역이 되어서 더 이해가 어려웠다. 지금도 책이나 사전에 나온 얘기이상 할수 있을거 같진 않지만, 느낌이이라는 것이 더 생겼다. object design책을 보면서 한줄로 나온 표현이 맘에 든다
레이어를 나누는 것은 아케텍쳐 스타일중의 하나이다. 그중 우리에게 가장 익숙한 Layered Architecture에 대한 이야기가 있다. Domain Driven Design(Eric Evan)에서 한 chapter를 다룰만큼 OO시스템에서는 가장 일반적인 아케텍쳐이다. 단, 실무를 하면서 아쉬운 점은 EJB처럼 레이어만 나누어 두고, 사실상 그 내부는 procedural한 스타일로 코딩하는 습관이 아쉽다. procedural한 스타일로 cover가 가능한 시스템이라면, 레이어간 분리조차 필요가 없을테니 말이다. 결국 앞뒤가 안 맞는 아키텍쳐와 코딩이라는 생각이 든다. 대표적인 케이스가 EJB인데, 그 습관을 답습하는 모습이 너무나 많은 곳에서 보여서 안타깝다. 이제는 제자리로 돌아가야 할때가 되지 않았을까?
이렇게 말하는 나조차도 잘못된 습관에서 허덕이다가 다시 돌아가려고 할때쯤 잘못된 습관과 기초의 부족으로 다시 열공모드로 들어갔다..^^; 처음에 자바를 배울때 만큼 재미있는듯 하다.

Object Design is a highly creative process
Object Machinery
An application = a set of interacting objects
An object = an implementation of one or more roles
A role = a set of related responsibilities
A responsibility = an obligation to perform a task or know information
A collaboration = an interaction of objects or roles(or both)
A contract = an agreement outlining the terms of a collaboration
An object = an implementation of one or more roles
A role = a set of related responsibilities
A responsibility = an obligation to perform a task or know information
A collaboration = an interaction of objects or roles(or both)
A contract = an agreement outlining the terms of a collaboration
객체지향에 대한 단상
http://riversiders.com/answer/web/libro/classic/index.php?pl=47
What is Object?
http://whiteship.tistory.com/118
http://riversiders.com/answer/web/libro/classic/index.php?pl=47
What is Object?
http://whiteship.tistory.com/118
어느순간부터는 객체의 value라는 말보다는 state라는 말이 좋아졌다.
--> object의 2가지 특성 : 상태와 행동

이미지 출처 : Whiteship's Note http://whiteship.tistory.com/118
http://java.sun.com/docs/books/tutorial/java/concepts/object.html--> object의 2가지 특성 : 상태와 행동
이미지 출처 : Whiteship's Note http://whiteship.tistory.com/118
레이어를 나누는 것은 아케텍쳐 스타일중의 하나이다. 그중 우리에게 가장 익숙한 Layered Architecture에 대한 이야기가 있다. Domain Driven Design(Eric Evan)에서 한 chapter를 다룰만큼 OO시스템에서는 가장 일반적인 아케텍쳐이다. 단, 실무를 하면서 아쉬운 점은 EJB처럼 레이어만 나누어 두고, 사실상 그 내부는 procedural한 스타일로 코딩하는 습관이 아쉽다. procedural한 스타일로 cover가 가능한 시스템이라면, 레이어간 분리조차 필요가 없을테니 말이다. 결국 앞뒤가 안 맞는 아키텍쳐와 코딩이라는 생각이 든다. 대표적인 케이스가 EJB인데, 그 습관을 답습하는 모습이 너무나 많은 곳에서 보여서 안타깝다. 이제는 제자리로 돌아가야 할때가 되지 않았을까?
이렇게 말하는 나조차도 잘못된 습관에서 허덕이다가 다시 돌아가려고 할때쯤 잘못된 습관과 기초의 부족으로 다시 열공모드로 들어갔다..^^; 처음에 자바를 배울때 만큼 재미있는듯 하다.
Layerd Architecture
- Object Design[Rebecca Wirfs-Brock and Alan Mckan, p.29]
- Object Design[Rebecca Wirfs-Brock and Alan Mckan, p.29]
- Usablility
- Availability
- Security
- Perfomance
- Maintainability
- Flexibility
- Portability
Object Design is a highly creative process
