🕖

[読書メモ]オブジェクト設計スタイルガイド 6章1節 with TypeScript

2024/02/27に公開

オブジェクト設計スタイルガイドを読みながら、TypeScriptでやるならどうやるかを考えながら書きました。
要約的に読める内容になっていると思うので、サクッと3分ぐらいで読める記事となっています。
https://www.oreilly.co.jp/books/9784814400331/

6.1 情報取得のためにはクエリメソッドも使う

コマンドクエリ分離原則(CQS)に従って、コマンドかクエリかのどちらかのメソッドにしよう。

副作用のあるメソッドかそうでないかを分けることでより安全にメソッドを扱える。といった話

NG
class Counter {
constructor(private num: number) {}

increment() {
this.num++
return this.num
}
}

OK
class Counter {
constructor(private num: number) {}

increment() {
this.num++
}

currentCount() {
return this.num
}
}

Discussion