Utilityクラス
簡単なmethod群を集めたclass
よくあるUtilityクラス設計
propertyは持たない
static methodのみを持つ
instantiateさせずに使う
Constructorをprivateかprotectedにするなど
よくある用途
複数の場所で使うvalidation
例えばPHPのEnum型を自作したときにそれはどういう位置づけになるのか #??
memo
PHPは関数単位のexport/importができない
lodashみたいな汎用関数群からの使用をOOPではどうやるのかが気になる
最初はUtitlityクラスだとおもったが、どうやら評判は良くないらしい
↑の手段は現状は以下のどれかなのかなと思っているがどれが良いのかはわからないmrsekut.icon
Service Class
Utilityクラス
PHPのtrait
あまり評判は良くないらしい
なんで #??
OOPの思考の仕方にそぐわないから
OOPはObjectどうしがmessagingし合うものであって、Utility Classみたいなのは適切なObjectの区切り方ではない
そうなのか #??
「まとまった意味を持ったObject」としえ考えられないものか
上の方に書いてある「static methodのみ持つ」みたいな制限がおかしいだけではないのか
じゃあどう代替すればいいのか
欲しいデータの型を作る
要はclassを作る
汎用関数群ではなく汎用的なclassを作るイメージかな
ここに書いてあるMax classみたいな感じ
ユーティリティクラスって何だ!?(その他) | 読み物 | ウナのIT資格一問一答
そもそものUtility Classについて
短い
https://www.kaitoy.xyz/2016/01/03/oop-alternative-to-utility-classes/
Utility ClassはObjectの切り方としておかしい、という主張の記事の訳
文章中に出てくるリンクはほとんど死んでいる
訳者はアンチアンチUtility Class
https://stackoverflow.com/q/3339929
https://stackoverflow.com/q/3340032