Hi all,
I am currently writing a wrapper library in C# that wraps a COM object that has a very small and painful to use API and am having a bit of problem with clutter.
This is the first project that I have used TDD and mocking on, so sorry if this isn't really a big problem. I gave a copy of my library to one of my work mates and the first thing that he noticed was the large amounts of interfaces that where in the API.
I explained to him that because I doing unit testing and mocking I needed the interfaces to stop the tests touching the COM object, he sort of understood but it got me thinking maybe my API is a little bit cluttered making it hard to understand.
My question is - If I am writing a wrapper library where every object touches the COM API somewhere, what is the best way to declutter my API and still be able to test the code.
Should I be using abstract classes insteed of interfeces for most things? or should I just hide the interfaces that are only for mocking reasons away in a namespace somewhere?