Hi
This PR should fix #47. I've made also a small refactoring by introducing IChunker interface which simplifies the DIffer. In my opinion, the IDiffer interface should be cut to:
and the rest of the overloads should be implemented as the extension methods. IMHO the name should be also simplified, let's say CreateDiff. Of course, these are breaking changes so I want to discuss it at first.
EDIT: I realized that this not enough to fix the problem because InlineDiffBuilder has hardcoded an invocation of specific overload from IDiffer. I needed to go further and I made another refactor by making an IChunker a constructor dependency for DIffer class. Now the API is much simpler and the extensibility and testability has been improved.
Hi This PR should fix #47. I've made also a small refactoring by introducing
IChunker
interface which simplifies theDIffer
. In my opinion, theIDiffer
interface should be cut to:and the rest of the overloads should be implemented as the extension methods. IMHO the name should be also simplified, let's say
CreateDiff
. Of course, these are breaking changes so I want to discuss it at first.EDIT: I realized that this not enough to fix the problem because
InlineDiffBuilder
has hardcoded an invocation of specific overload fromIDiffer
. I needed to go further and I made another refactor by making anIChunker
a constructor dependency forDIffer
class. Now theAPI
is much simpler and the extensibility and testability has been improved.