이전 Winform 프로젝트에서 C++로 구현된 기능을 사용해야 할 일이 있었다.
당시의 사용방법은 C++ 로 만들어진 dll을 C#으로 감싼 후, 이 wrapper 를 통해 필요한 기능을 수행하는 것이었다.
그럭저럭 프로젝트가 마무리되었고, 한동안 해당 코드를 건드릴 일이 없었다.
최근 WPF로 새로운 프로젝트를 시작하면서 예전에 만들어두었던 Wrapper 를 사용해야 할 일이 생겼다.
그냥 가져다 쓰면 되겠거니 했는데... 예전의 그 Wrapper는 Winform 프로젝트에 너무 종속되어 있었다.
Winform과 WPF의 차이라기 보다는, namespace가 예전 프로젝트와 너무 얽혀있는 게 문제였다.
애초에 Dll Wrapper를 만들 때 특정 프로젝트 내에서 만들지 말고 따로 빼내어서 구현했더라면 훨씬 모듈화가 잘 되어있었을 것이다.
그리고 이렇게 독립된 Dll Wrapper를 C#에서 DllImport 등을 사용하여 불러오면 되었을 것이다.
프로그램을 만들 때 모듈화의 필요성을 다시금 느끼게 되는 사건이었다.
반응형
'Development Experience > Philosophy' 카테고리의 다른 글
프로그램 구현할 때 깨달은 점 (0) | 2020.12.16 |
---|---|
서버 프로그래밍 시 유의 사항 끄적임 (0) | 2020.12.16 |