タグ

qiitaとscalaに関するclavierのブックマーク (2)

  • ScalazよりもCatsを使いましょう - Qiita

    問題 scalaで関数型プログラミングを調べると真っ先に出てくるライブラリとしてScalazとCatsがあるが、これらの違いとどちらを使えばいいのかがわからない。 またこれらは混在させていいのだろうか? 回答 catsを使いましょう(理由は以下で解説しています)。 混在させるとお互いのライブラリ内の同名のクラスでも(例: scalaz版Monad、cats版Monad)型が非互換であるため混乱が起きやすいです。 なるべくcatsのみを使い、やむなく混在せざるを得ない場合はcats側に寄せることをおすすめします。 またargonaut-io/argonautとcirce/circeなどほぼ同じ目的のライブラリでScalaz版とCats版が存在するケースがありますが、上記の理由でなるべくCats版を使うことをおすすめします。 解説 Catsもまたscala上で関数型プログラミングをすることを支

    ScalazよりもCatsを使いましょう - Qiita
  • ドメインロジックはドメインオブジェクトに凝集させる - Qiita

    こんにちは。 最近、こんなツイートしたのですが、ドメインオブジェクトではなくアプリケーションサービス1などにドメインロジックが書かれてしまうことがあります。 アプリケーションサービスはドメインロジックを配置する場所ではない、それはドメインオブジェクトの役割。アプリケーションサービスは進行役。ここを間違うから簡単にドメインモデル貧血症になってしまうんだと思います。 — かとじゅん (@j5ik2o) August 18, 2019 最近、以下の書籍(以下 増田)をマジメに読み直しました(笑)。ドメインモデル貧血症2を回避して、ドメインロジックをドメインオブジェクトに凝集させる方法に関して、増田にいろいろ書いてあったので、そのエッセンスと僕の考察を交えて解説したいと思います3。 詳しい内容は以下の増田を読んでください! コード例はScalaですが難しい表現がないので、Scalaが分からな

    ドメインロジックはドメインオブジェクトに凝集させる - Qiita
  • 1