Command Query Separation (CQS) on arkkitehtoninen malli, joka erottaa toiminnot, jotka muuttavat järjestelmän tilaa tai komentoja, eli kirjoitusoperaatioita, toiminnoista, jotka hakevat järjestelmää tietojen hankkimiseksi, eli lukuoperaatioiksi. CQS-malli korostaa tarvetta erottaa huolenaiheet erottamalla selkeästi tietoja muuttavat ja vain tietoja palauttavat menettelyt.
CQS:n ideana on, että komennot, jotka muuttavat järjestelmän tilaa, eivät saa palauttaa arvoa, eikä kyselyillä saa olla sivuvaikutuksia tai mutaatioita. Siten CQS:ssä menetelmä voi olla joko komento tai kysely, mutta ei molempia. Tämä erottelu lisää selkeyttä, parantaa ylläpidettävyyttä ja vähentää koodin monimutkaisuutta.
Ottamalla käyttöön CQS:n kehittäjät voivat nimenomaisesti määritellä menetelmän tarkoituksen, mikä puolestaan tekee koodista luettavamman ja itsedokumentoivan. CQS voi myös auttaa parantamaan järjestelmän skaalautuvuutta ja suorituskykyä, koska lukutoiminnot voidaan optimoida raskaasti luettaville järjestelmille ja kirjoitustoiminnot raskaskirjoitusjärjestelmille.
Julkaisupäivämäärä: