C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[11778] 프로그램 설계(디자인)를 잘 하고 싶은데 어떻게 하면 좋을까요?
기쁨과 감사 [gospel05s] 1830 읽음    2006-05-17 04:22
안녕하세요?

제가 전에는 연습장에 프로그램의 흐름, 클래스 등등을 대충 뚝딱뚝딱 그려넣고 코딩을 시작해도
별 무리가 없었습니다.

그런데 요즘에 만들고 있는 프로그램들은 규모가 조금씩 커지기 시작하고 있는데요,
(그래봤자 혼자 만드는 프로그램이라 그렇게 큰 정도는 아닙니다 ^^; 2000~4000줄 정도?)
전에 하던 방식대로 대충 생각해놓고 코딩을 시작하니 함수 하나의 크기가 무지막지해지고
switch 문마다 딸린 문장도 많아지고, 중복된 코드(비슷한 기능인데 약간씩만 다른...)도
너무 많아지더군요. 클래스들끼리 서로 의존도가 너무 높아지기도 하구요.
그래서 프로그램은 나오긴 했지만 정말 만들고 나서도 '이건 아니다-_-' 라는 생각이 들었습니다.

규모가 전에 만들던 것들과 차이가 생기다 보니 제대로 된 설계를 하고 코딩을 해야 겠다는
것을 뼈저리게 느낍니다.

그런데 막상 설계... 이거 어떻게 공부를 해야 하는 것인지를 모르겠습니다.
디자인패턴, 리팩토링 이런 책들을 좀 읽으면 설계를 잘 할 수 있을까요?
(집에 위의 두 책이 있기는 하지만 읽어봐도 '이런 방법이 있는 건 알겠는데 어떻게 써먹지?' 혹은
'이런 방법은 왜 있는 거지?' 이런 생각만 들더군요)
그냥 계속 만들고 뿌시고 경험(혹은 삽질)만이 왕도일까요?-_-

어찌해야 설계를 잘 할 수 있을지에 대한 고민 반 질문 반 글을 올려봅니다.
답변 부탁드려요~

P.S. 주로 자료를 담고 있다가 자료에 대한 액세스를 제공하는 클래스가 있을 때,
그 자료에 대한 화면출력이나 화면입력을 담당하는 클래스는 따로 만드는 게 좋은 것인가요?
이렇게 만들어 보았는데 화면입/출력 클래스가 자료를 담고있는 클래스를 속속들이 알아야
하는 문제가 있더군요.
그렇다고 자료를 담고 있는 클래스들이 알아서 자기들의 정보를 화면에 출력하게 하는 방법은
좀 이상한 것 같구요.

그래서 자료를 담고 있는 클래스를 전문적으로 관리하는 클래스를 만들고,
화면입/출력 클래스는 최대한 독립적으로 만들어 관리클래스가 이 화면입/출력 클래스를
이용하게 했는데 이렇게 되면 관리클래스가 자료를 담고있는 클래스에 대해서 속속들이
알아야 하는 단점이...

아 설계! 어렵습니다 ;ㅁ;
해롱해롱 [seaeast2]   2006-05-17 12:59 X
처음부터 잘 할 수는 없습니다. 그리고 왕도도 없는것 같습니다. 책 많이 보시고 하나하나 적용해 보는것이 좋을듯 합니다.
기쁨과 감사 [gospel05s]   2006-05-17 16:58 X
음.. 구체적으로 어떤 책을 말씀하시는 것인가요?
김호광 [testcode]   2006-05-17 17:32 X
디자인 패턴을 보시면 도움이 될 듯 합니다. 그리고 빌더의 VCL 구조를 보시면 코딩이나 이런 쪽에서 구조를 잡으실 때 도움 되지요 VCL은 엄청난 놈입니다.

+ -

관련 글 리스트
11778 프로그램 설계(디자인)를 잘 하고 싶은데 어떻게 하면 좋을까요? 기쁨과 감사 1830 2006/05/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.