프로그래밍 초보자에게 dependency injection을 설명하기 좋은 예제를 추천한다면...

2014-06-24 17:46

프로그래밍 경험이 많지 않은 개발자에게 Dependency Injection(이하 DI)를 설명하기 참 쉽지 않다. DI에 대한 필요성과 장점을 이야기하더라도 현장 경험이 많지 않기 때문에 그 필요성을 느끼는데는 한계가 있다.

이런 상황에서 그나마 DI의 필요성과 DI가 어떤 개념인지를 적절히 소개할 수 있는 예제가 있을까? 대부분의 예제가 너무 작은 규모라 적절한 예제를 찾기 쉽지 않다.

이에 대한 해결책을 찾다보니 5살 아이에게 DI를 설명하는 법에 대한 질문도 있다. http://stackoverflow.com/questions/1638919/how-to-explain-dependency-injection-to-a-5-year-old 답변을 보니 나름 재미있네. 근데 5살 아이에게 DI 설명이 가능할까?

0개의 의견 from FB

3개의 의견 from SLiPP

2014-06-27 10:27

DI라 그러면 이 사람부터 먼저 떠 오릅니다, Mark Seemann.](http://blog.ploeh.dk/).) Dependency Injection in .NET이라는 책을 집필했으며 Stack Overflow(이하 SO)의 dependency-injection태그에서 가장 왕성한 활동을 보여주고 있습니다.

그의 책을 아직 전부 읽어 보지는 못했지만, 책의 예제를 선택할 때 고민을 많이 한 흔적을 느낄 수 있었습니다. 그가 선택한 예제는 DI를 이해하는데 부족함이 없었습니다. 개인적으로는 말씀하신 예제의 경우, 이 책 2장(A comprehensive example)의 예제가 어떨까 합니다. 이 예제에서는 tightly coupled 된 예제를 먼저 보여주고 난 후, 이를 DI를 사용하면 어떻게 loosely coupled가 되는지를 보여줘 DI를 장점을 잘 부각시키고 있습니다.

다 좋은데 한 가지 문제는, 책이 .NET으로 쓰여졌다는 것입니다. @자바지기 님이 닉네임에서도 알 수 있듯이 자바를 하시는 분으로 알고 있어서 .NET을 사용하시는지 잘 모르겠습니다만, 만일 .NET에 경험이 없으시더라도 책을 읽으시는데 큰 무리는 없을꺼란 생각이 드네요. 물론 코드 하나하나의 의미 파악은 때로는 힘들 수 있지만, 책에서 전달하고자 하는 전반적인 내용을 이해하는데는 큰 문제가 아니라고 느껴집니다.

책을 구하기 힘드시다면, 아래의 1장 내용과 http://www.manning.com/seemann/DIi.NET_sample_ch01.pdf

2장을 대신해서, Mark Seemann의 블로그 글을 읽어 보시면 좋을 것 같습니다. http://blog.ploeh.dk/2010/04/07/DependencyInjectionisLooseCoupling/

2014-06-27 11:43

@Jin-Wook Chung 와. 정말 감사합니다. .NET이라도 좋습니다. 예제를 참고해서 제가 자바 버전을 만들 수 있으니 꼭 참고해서 적용해 보도록 할께요. 적용 후에 결과도 같이 한번 공유할께요.

항상 감사드립니다.

의견 추가하기