We have already examined the Repository pattern. For example, here and here. Today, let's see how many examples of this pattern force a developer thinks that any repository must include concrete methods and nothing more. Often it is correct and you have pure DDD application. But what if your data source differs from database and has specific methods to modify data?