Cqs意思

CQS是Command Query Separation的縮寫,是一種軟體設計原則,用於最佳化面向對象編程中的數據訪問和修改操作。這個原則由 Bertrand Meyer 在他的著作《Object-Oriented Software Construction》中提出。

CQS原則的基本思想是將對象的方法分為兩類:

  1. 命令(Command)方法:這類方法改變對象的狀態,但不會返回任何有用的信息,即它們不返回對象引用的值。調用者只關心方法是否成功執行,而不關心執行的具體細節。

  2. 查詢(Query)方法:這類方法用於獲取對象的信息,它們不會改變對象的狀態,而是返回一個值給調用者。

根據CQS原則,一個對象應該要麼是命令,要麼是查詢,不能同時具備這兩種特性。這意味著一個方法要麼執行一個動作(改變狀態),要麼返回一個值(查詢狀態),但不能同時做這兩件事。

CQS原則的優點包括:

在實際套用中,CQS原則並不是一個嚴格的規則,而是一種指導思想。有時候,為了提高性能或者簡化設計,一個方法可能同時包含命令和查詢操作。但是,如果這樣做,應該有充分的理由,並且應該小心謹慎,確保不會違反CQS原則的精神。