Hi Tony,

Yeah, it seems strange to me too.

Often CQRS is sometimes used in conjunction with Event Sourcing (i.e. an
append only data-store). So maybe he's thinking of the Repository Pattern
as a traditional CRUD interface, and it's that which they're not using?

Regards,

Nathan.

On 14 July 2016 at 14:03, Tom Rutter <[email protected]> wrote:

> Hey Tony, I too am confused by the developer's comment. My understanding
> is the same as yours it seems.
>
>
> On Wed, Jul 13, 2016 at 8:12 PM, Tony Wright <[email protected]> wrote:
>
>> Hi all,
>>
>> I had a discussion the other day with an experienced developer who told
>> me that "instead of using the repository pattern, they just use CQRS these
>> days."
>>
>> I am somewhat puzzled with that statement, because it is my understanding
>> that the two are almost completely independent of each other.
>>
>> In simple terms, CQRS is used to separate requests from responses, so
>> data received from a database use different classes from the ones used to
>> submit updates. e.g. PersonCreateInputDto, which might contain just the
>> fields used to create a new person in the database, and PersonOutputDto,
>> which might contain just the fields needed to display a list of Person
>> records. You don't use the same object for both types of transaction, just
>> the bare minimum in each.
>>
>> Repository, on the other hand, is used for dependency injection. By
>> changing the dependency provider, I can switch a set of runtime classes
>> with a set of testing classes. The dependency provider injects the
>> dependent objects that are desired at the time, which could be either
>> runtime objects, or mock testing objects, so it is predominantly used to
>> enable better testing.
>>
>> I got the impression that the person was somehow using CQSR to perform
>> their testing instead. Is there something that I'm missing here?
>>
>> Regards,
>> Tony
>>
>
>

Reply via email to