2018년 12월 26일 수요일

mutual dependency between base class and derived class

_( duckduckgo search:    C++ programming mutual include problem )_
result:
1
[https://stackoverflow.com/questions/625799/resolve-build-errors-due-to-circular-dependency-amongst-classes](Link URL)

2
[https://stackoverflow.com/questions/8526819/c-header-files-including-each-other-mutually](Link URL)

3
[https://stackoverflow.com/questions/5894385/c-include-problem](Link URL)

4
http://www.cplusplus.com/forum/articles/10627/

-
5
https://stackoverflow.com/questions/53515844/removing-circular-dependencies-between-classes-in-c
내가 찾던 스타일의 문제 해결로 보인다.
interface 를 도입해서 해결하는 방식으로...

--
하지만, 최종 해결은 class 라는 key-word 를 이용해서 forward declaration 을 통해 해결하였다. 위의 연결 1, 2, 3, 4 의 내용에 의한 해결 방법이다. interface 를 도입하는 것은 내가 겪은 문제에 대해서는 지나치게 복잡하고 관련성이 부족한 방법이었다고 결론 내렸다.
-
190203 ...
Effective C++ 2판 책 (번역본 대림출판사; Effictive C++ 2편 ISBN 89-7280-425-8)에 내가 겪은 것과 유사한 사례를 다루고 있었다.
(159쪽 [항목 34] 파일간의 컴파일 의존성(dependency)을 최소화하라
(159쪽부터 170쪽 까지)
(165쪽) 에는이 첵에서 다른 부분에서는 소개 되지 않는 용어가 나온다.
[Handle/Body] class
[Envelope/Letter] class

8쪽의 감사의 글 내용에 의하면, 이 [항목 34]에 나온 용어들은
(Jim Coplien) 저자의, ( Advanced C++: Programming Styles and Idioms )에 나오는 것이며, 이와 유사한 글이 현재 인터넷에 있는데, 같은 저자의 글이며, 이 글을 (디자인 패턴) 스타일로 고쳐서 쓴 것이라고 한다.
https://sites.google.com/a/gertrudandcope.com/info/Publications/Patterns/C--Idioms
이것은 GoF 의 디자인 패턴 목록에는 나오지 않는 것이다. 아마도 다른 저자(프로그래머)의 패턴 목록 확장으로 받아들이면 될 것 같다. 하지만, 그 글 자체(Advanced C++: Programming Styles and Idioms)는 GoF의 디자인 패턴 책보다 몇 년 이전에 나온 글이다.

여기의 목록 중에서, ....
https://sites.google.com/a/gertrudandcope.com/info/Publications#fullbib

아래의 항목을 찾으면 위의 ( C++ Idioms Patterns ) 문서를 아래와 같이 찾을 수 있다.
136
James O. Coplien. C++ Idioms Patterns. In Brian Foote, Neil Harrison, and Hans Rohnert, editors, Pattern Languages of Program Design 4, chapter 10, 167-197. Addison Wesley, Reading, MA, 2000.
-
아래의 page 에서 PDF file 을 다운로드 받을 수 있게 되어 있는데,
이 문서에는 위에서 나온 용어들에 대한 설명이 있는 백서(white paper) 를 download 받을 수 있다.

https://sites.google.com/a/gertrudandcope.com/info/Publications/Patterns/WhitePaper

PDF는 아래에서 다운로드
https://docs.google.com/viewer?a=v&pid=sites&srcid=Z2VydHJ1ZGFuZGNvcGUuY29tfGluZm98Z3g6MTI4MjVhZjFmMmJmY2NmOA

TDD, CDD
https://www.infoq.com/interviews/coplien-martin-tdd#anch19279
-
-

댓글 없음:

댓글 쓰기