タグ

2020年6月29日のブックマーク (2件)

  • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

    アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

    「ビジネスロジック」とは何か、どう実装するのか - Qiita
    t1mvverr
    t1mvverr 2020/06/29
    教科書通りに実装しようとすると、教科書に書かれていない問題に直面しいつも破綻するので、もう雰囲気で書いている。
  • 一行入魂 PostgreSQLでパフォーマンスに影響しない論理削除

    論理削除を削除フラグや削除日時のカラムで実装すると、カーディナリティが低いので検索でのパフォーマンスが良くないです。 そこで、削除用のテーブルを作り移動することにします。 スキーマーを以下の三つにわけます。 source(全てのレコード) public(生きているレコードのみ) garbage(削除されているレコードのみ) sourceスキーマーにテーブルの定義を行い publicスキーマーとgarbageスキーマーにはテーブル継承したテーブルを置きます。 通常はpublicスキーマーを検索すればよいです。 もし、削除されているものも含めて欲しい場合、sourceスキーマーを検索できます。 スキーマーを作るSQL CREATE SCHEMA IF NOT EXISTS source; CREATE SCHEMA IF NOT EXISTS garbage; テーブルを作るSQL DROP