[Closed]아아 갖고 싶다 60 program design patterns
글쓴이: bookgekgom / 작성시간: 수, 2008/03/05 - 4:14오후
UML 책을 읽고 있는데...
도서관에 UML 이랑 프로그램 디자인 패턴이 통합되있는 책이 있거든요?
그책에는 제가 알고싶던것이 있었습니다.
프로그램을 디자인하는 방법이 대략 어떠한지 보여 주더군요.
저같은 초보에게는 언어를 어떻게 쓰는지보다
프로그램을 초기에 어떻게 디자인해야 나중에 시간이 지나도
자신이 어떤 것을 목적으로 프로그램을짯고 업데이트를 어떻게 해야하는지 배워야 할것 같더군요.
=_= 그냥 맹목적으로 프로그램을 끄적 끄적 만들면 조그마한 프로그램도 나중에 시간이 지나면
"헉 이게 뭐지?"
이렇게 되더라구요 ㅋㅋ 웃지 마시구요. ㅠ 초보니까 그러려니 해주세요.
그런데 대략 60 가지 패턴중 실생활에서 사용되는 패턴은 몇가지나 되는지 궁금하더군요.
암튼 그책을 너무 갖고 싶네요. 살까하고 생각하는데 흠흠...100 불 넘으면 못살듯....
책이름이 Software Architecture Design Patterns in Java 였을꺼에요.
UML 과 같이 적혀있더라구요.
이런 책들처럼 초보가 쉽게 읽을수있는 책없을까요?
영어로 된책이면 더 좋겠어요.
추가 - 가격확인 70 불...으흥....
-----------------------------------------------------------------------------------------------
답변들 감사드립니다. 이제 그만...으허허헝
Forums:
음.. 뭐랄까.. 디자인
음.. 뭐랄까.. 디자인 패턴과 같은 방법론 책들을 보시면 여태 여러 사람들이 삽질을 해보니
이때는 이렇게 하는게 낫더라.. 라고 정리가 되어있습니다.
그런데 사실 저도 프로그램 만들면서 디자인패턴은 모르고 살았는데 나중에 디자인 패턴 책을보니
제가 그간 문제를 해결하는데 사용했던 방법이 그대로 다 들어있더군요.
즉.. 굳이 패턴을 억지로 배우고 그걸 끼워맞추실 필요는 전혀 없습니다.
프로그램 짜다보면 하기 싫어도 그 패턴들을 자동적으로 따라가는 자신의 모습을 보실겁니다.
프로그램을 짜기 위한 디자인과 설계는 매우 중요합니다.
그렇지만 프로그램을 잘 짜고 설계를 잘 하기 위해서는 지식 뿐만 아니랄 많은 경험도 필요합니다.
이론으로 탁상공론해봤자 나중에 짜보시면 아시겠지만 그다지 교과서대로 되는건 많이 않음을 아실겁니다.
---
=_= 그냥 맹목적으로 프로그램을 끄적 끄적 만들면 조그마한 프로그램도 나중에 시간이 지나면
"헉 이게 뭐지?"
이렇게 되더라구요 ㅋㅋ 웃지 마시구요. ㅠ 초보니까 그러려니 해주세요.
---
이건 사실 초보 뿐만 아니라 숙련된 조교도 마찬가지입니다.
그래서 문서화가 필요한것이죠.
제가 보기로는 60개의 패턴중 많아야 10개가 쓰일까 합니다.
(매우 주관적이므로 틀릴수도 있습니다. 저도 엄청나게 오랫동안 프로그램을 짠건 아니기에..)
초보자가 보기에 편한 책은 찾기 힘드실지도 모릅니다.
디자인 패턴도 소프트웨어공학의 일종이고, 소프트웨어공학은 대학전공 커리큘럼에 포함이 되어있으니..
어느정도 소프트웨어에 대한 기반 지식과 경험이 없으면 이게 뭔소리인가 하실겁니다. 실제 어디에 적용하면 좋은지도 모르실거구요.
그래도 보시겠다면 그리고 경제적 여건이 되신다면 비싸더라도 책은 꼭 사시고..
읽으시고나서 나중에 프로그램을 짜실때는 패턴이 목적이 아닌 프로그램을 짜는데 패턴이 도구가 되도록
염두하셔야합니다.
너무 패턴과같은 방법론에만 얽매이게 되면 나중에 프로그램을 만들기위한 방법론인지 방법론을 따르기 위한 끼워맞추기 프로그래밍인지
구분이 안가게 됩니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
제 생각에는 순서가
제 생각에는 순서가 거꾸로 되신 것 같습니다. 그런 책은 초보가 보는 게 아니라 웬만큼 언어를 익힌 중급 이상의 프로그래머에게 어울리는 책이라고 생각합니다.
일단 언어를 자유자재로 구사할 수 있어야 그 다음에 어떻게 해야 잘하는 건지 고민이라도 해보지 않겠습니까.
으흠....
흐음...이 문제는 계란이 먼저냐 닭이 먼저냐가 될수도 있을것 같습니다.
프로그램 언어를 패인트라고 생각하고 생각없이 막 그리다 보면 그림이 나올까요?
물론 님 말대로 어떠한 언어를 자유자재로 쓸수 있어야 한다는 것에는 저도 조금 동의 합니다만....
언어를 자유자재로 어떠한 계획없이 짜는것은 자유자재가 아니라 자유분방함이 아닐까요?
제 생각에는 프로그램이 어떻게 돌아가는지 이해하고 그다음 짜야한다고 생각합니다.
예를들어 클래스를 기초로 사용하는 자바에서 하나 이상의 클래스를 생성하고
각 클래스의 관계가 어떻게 되는지 미리 계획하고 그에 마추어 짜지 않는다면
저 처럼 나중에는 클래스 이름을 봐도...=_= 머지... 이소리가 먼저 나옵니다.
윗분 답변대로 다큐맨트도 중요한것 같구요.
OOP 언어를 사용해서 C 언어 처럼 짜는 사람들이 많습니다.
제 짧은 소견으로는 일단 오브젝트중심으로 어떻게 짜나가고 이점을 어떻게 살리는지
청사진을 만드는 법을 배우는것이 중요하다고 생각합니다.
물론 제말은 "이 허접자식" 하고 넘어가셔도 무방합니다.
----------------------------------------------------------------------------------------------------------
허접한 페도라 가이드 http://oniichan.shii.org
---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.
http://jihwankim.co.nr
여러 프로그램 소스들이 있습니다.
필요하신분은 받아가세요.
제 경험(순전히
제 경험(순전히 주관적인)에 비추어봤을 때는..
질문자님께서 말씀하신 말이 100번 옳습니다.
소프트웨어를 작성할려면 반드시 계획이 있어야하고 설계가 있어야합니다.
그런데 위에 다른 분이 답변해주신것은 그렇게 치밀하게 계획하고 설계를 할려면
어느정도 프로그램 작성 경험을 쌓아서, 이럴때는 이렇게 하면 좋다.. 라는 것을 몸에 익히고나서
설계를 공부하셔야 정확하고 적절한 곳에 사용 할수 있다는 말씀입니다.
소프트웨어공학은 꽤나 넓은 범위의 학문입니다.
만약에 질문자님께서 어느정도 프로그래밍에 대한 소양이 있으신 분이라면 소프트웨어공학을 적극 추천했을 것입니다.
그런데 아직 경험이 부족하시기에 방대한 소프트웨어공학을 공부하다가 나가떨어지지 않을까 걱정하는 마음에서
나중에 공부하시라는 조언을 드린것입니다.
전적으로 본인의 선택입니다만..
끈기 있게 공부하실 자신이 있으시면 먼저 공부하시되..
자신 없으시면 아직 나이도 어리시니 풍부하게 프로그램을 짜보시고 그때 생각하셔도 늦지 않습니다. :)
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
1
2
지움
디자인패턴은
디자인패턴은 말그대로 경험을 이렇게 저렇게 해봤더니 이런 패턴이 나오더라는 것이기 때문에...
경험을 많이 해보는 것도 중요합니다.
그리고 패턴을 이루는 핵심원리들이 존재하고요.
-------------------------------------------------
홍환민. http://www.wearethebest.co.kr
-------------------------------------------------
홍환민. http://www.wearethebest.co.kr
으허허헝 옛날 글이네...
네 직장에 다니는 친구한테 물어보니 그책이 software engineering 에 관련된 책이더라구요.
어차피 이번 학기(3번째 학기)에 선택과목이니까 미리 읽어 두면 좋겠다 싶어서 읽어 보았습니다.
ㅎㅎㅎ 나가떨어지진 않았습니다. 다만, 아 이렇게 프로그램을 디자인 하는 법도 있구나 하면서 약간 놀랐죠.
-------------------------------------------------------------------------------------------------------------------------------
허접한 페도라 가이드 http://oniichan.shii.org
---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.
http://jihwankim.co.nr
여러 프로그램 소스들이 있습니다.
필요하신분은 받아가세요.