2006/11/05 10:03 Developer

Object Design

object란 단어는 대학을 다닐때 내가 처음 자바를 접했을때부터 무척이나 헷갈리는 단어중의 하나였다. 그때는 object는 무엇이고, class는 무엇이고,instance는 무엇이냐? 대부분의 번역서를 보면, 같은 의미로 번역이 되어서 더 이해가 어려웠다. 지금도 책이나 사전에 나온 얘기이상 할수 있을거 같진 않지만, 느낌이이라는 것이 더 생겼다. object design책을 보면서 한줄로 나온 표현이 맘에 든다

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

특명: Object의 의미를 파악하자.
http://px.tistory.com/80

어느순간부터는 객체의 value라는 말보다는 state라는 말이 좋아졌다.
--> object의 2가지 특성 : 상태와 행동

이미지 출처 : Whiteship's Note  http://whiteship.tistory.com/118
http://java.sun.com/docs/books/tutorial/java/concepts/object.html

레이어를 나누는 것은 아케텍쳐 스타일중의 하나이다. 그중 우리에게 가장 익숙한 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]
  • Usablility
  • Availability
  • Security
  • Perfomance
  • Maintainability
  • Flexibility
  • Portability



Object Design is a highly creative process


Object Design

Rebecca Wirfs-Brock,Alan McKean / Addison-Wesley
Posted by ologist
 TAG ,

블로그 이미지
ologist

공지사항

Yesterday221
Today25
Total34,406

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

최근에 받은 트랙백

글 보관함