PODという考え方

POD(Plain Old Data)とは、C言語で言うところの構造体だと思うが、要はデータのみを表すクラス。Javaでは、POJO(Plain Old Java Object)と言うらしい。


MVCの点から言っても、テストのし易さや可読性から言っても、かなり重要な考え方だと思う。逆に、(状態を持った)処理を表すクラスを作る場合は、重要なデータをフィールド(メンバ変数)として含むべきではない。あくまでも、処理に必要な状態のみを持つべきだと思う。


と言っても、100%これにすべきという訳ではないと思うが、切り分け方としては、重要なデータほどPODとすべきだと思う。ある意味、使い捨て的な、ローカル的な使い方をするクラスで、そこまできっちり分ける必要はないと思う。