しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Tell, Don't Ask(求めるな、命じよ)

Tell, Don't Ask(求めるな、命じよ)という原則について調べてみました。

Tell, Don't Ask(求めるな、命じよ)とは

クラスの役割についての原則です。
クラスを呼び出す側はAsk(求める事)はせずにTell(命令)だけするべきという原則です。

下書籍が出典のようです。

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

いくつか記事を読んだのですが、セッター時の値の妥当性チェックや購入処理の在庫管理等、そのクラスが管理するデータについてはそのクラスが妥当性のチェックも行う事のように感じました。
つまり利用側からはそのクラスの値についてのチェック(Ask)はしないという事かと思います。

参考URL

TellDontAsk
Tell, Don't Ask [ 求めるな、命じよ ] - はむはむエンジニアぶろぐ