数多のserviceクラスを滅ぼした俺としては言いたいことが一杯あるので、到着したらビール飲みながら話す。 #ginzarails
2019-11-15 19:28:45ServiceクラスはPORO亜種のfrinedsパターン派です。詳しくはpixivPAYの薄い本に書いた(若者が)。 #ginzarails
2019-11-15 19:28:56いまだにserviceクラスって何なのか、はっきりとした自分なりの答えがない。。。 Modelじゃね?Viewじゃね?みたいなのが混在していて本当にわかりにくい。 「Serviceクラスじゃなくてサブクラスを使おう!」 #ginzarails
2019-11-15 19:29:34ifとかifとか条件分岐とかってControllerではクラスが分かれてるけど、modelはわかれていないことがおおい modelを責任範囲ごとに作ってあげればよいのでは? #ginzarails
2019-11-15 19:30:21サブクラス俺は止めた方がいいと思うけども。Serviceクラス以上に使うの難しい。 #ginzarails
2019-11-15 19:31:17雑にServiceクラスを作りたくない → サブクラスを作る ・モデルを責任範囲ごとに書く ・責務からコードの振る舞いを定義 #ginzarails
2019-11-15 19:31:20ARクラスのクラス名をネームスペースに使うのって 名前解決的に問題がある、みたいな話だったような。。 #ginzarails
2019-11-15 19:32:00モデルのサブクラス != STIだよ、という話 しんぺいさんのお話でもあった builderscon.io/builderscon/to… #ginzarails
2019-11-15 19:32:11Serviceクラスをサブクラス分割するとうまくいくケースはそもそもServiceクラスにすべきではないケースだとは思う #ginzarails
2019-11-15 19:32:16サブクラスについては、この前読んだ本に詳しく書いてあったなぁ🤔 書いてある通りにできたらスーパークラスとサブクラスはとてもよく動くと思う。 a.co/gQliC8T #ginzarails
2019-11-15 19:33:09その場に居ないので詳細は分からないけど、書き方の考え方は同意で方法としてはサブクラスじゃないよなと思う。 #ginzarails
2019-11-15 19:33:15サブクラスは考えたことあるけど、同一レコードを親クラスと子クラスどっちでもインスタンス作れる際の振る舞いを一貫できる自信があんまない #ginzarails
2019-11-15 19:33:28not STIな使い方でベースモデルを継承して振る舞いを変えるみたいなやり方は構想したことあるけど、実際のプロダクションコードで書いたことないな #ginzarails
2019-11-15 19:33:56てか、単純に「Serviceクラスというアイデアを鵜呑みにせずちゃんとオブジェクト指向設計しましょう」という話だよね #ginzarails
2019-11-15 19:34:09本来のPoEAAの意味でのServiceクラスで使うのは良い、という意見が多そう(PoEAAを読まなければ) #ginzarails
2019-11-15 19:34:16