CQRS (ang. Command Query Responsibility Segregation) – to wzorzec polegający na oddzieleniu poleceń (wykonywania akcji) od zapytań (zwracanie danych).
Po raz pierwszy został opisany przez Grega Younga w swoim dokumencie „CQRS Documents by Greg Young” w 2010 roku.
Najprościej można go zaimplementować poprzez rozdzielenie odpowiedzialności klas ze względu na to czy są odpowiedzialne za polecenie (ang. command) czy za zapytanie (ang. query). Bardziej zaawansowane rozwiązanie wymaga dwóch oddzielnych części systemu obsługujących odpowiednio odczyty i zapisy, ale posiadających różne projekty, modele, usługi i bazy danych.
