CRUDは、アプリケーションが行う作成、読み取り、更新、削除にすぎません。
バグトラッカーもある程度、CRUDアプリです。バグを作成し、バグを読み取り(表示)、バグを更新し、場合によっては削除します。
ただし、バグトラッカーには単なるCRUD以外のものもあります。
- 開発者は、バグを検証済みまたはクローズ済みとしてマークすることはできません。これはQAの仕事の一部です。そのため、QAの役割を持たない誰かがバグをクローズまたは検証済みとしてマークできないようにするためのコードがそこにあります。
- 実際にバグを削除できるのはプロジェクトマネージャーだけです。
- バグを「テストミー」としてマークするには、バグに対して少なくとも1つのコードのコミットが必要です。
- 「クローズ」状態のバグのみが「再オープン」状態に移行できます
- バグに割り当てられた開発者は、「コードレビュー」から「コードレビュー完了」にバグを移動できません。
- QAと開発者は、割り当てられているプロジェクトのバグのみを見ることができます。
上記を実装するコードは、アプリケーションのビジネスロジックです。
ワークフローの制限、または誰 CRUDでさまざまな操作を行うことができます。これらは、CRUDアプリを別のものから分離するものです。これらは、アプリケーションがどのように機能するかをビジネスに実際に伝えるために必要な部分です。それは論理的です...まあ、それはプロジェクトマネージャーの耳からビールについて議論するのが一番です。しかし、それがビジネスロジックです。
もちろん、ロールのない「純粋な」CRUDアプリを作成することは可能です。すべてを変更して表示できますが、これらはルールではなく例外です。
ビジネスロジックは、与えられたビジネスルールを処理するためにプログラムに書き込むロジックです。
ビジネスルールを開始するとき、これはcrud自体またはビジネスロジックよりも高いレベルになる傾向があります。これは、ビジネスで働いているビジネスアナリストから得られるものである傾向があります。
この例では、店舗の返品デスクで商品の返品を処理する方法を決定するプログラムを検討します。
- 領収書が90日以上経過している場合、店内クレジットのみが付与されます。
- 領収書が90日未満の場合、領収書が購入に使用された入札にクレジットします(クレジットはクレジットカードに戻り、現金は現金に戻り、店内クレジットは店内クレジットになります)...小切手で、その場合は現金を使用します。
これらはいくつかのビジネスルールです。彼らは、アプリケーションのCRUD部分とは話しません。
ビジネスルールを使用する場合、システムで生のコードを記述する代わりに、ルールエンジン(たとえば、Windows Workflow Foundation Rules Engine)で記述されていることがよくあります。
ロジック/ルールの区別は用語の1つであり、一晩中議論することができることを理解してください(再びビールよりも良い)。これは珍しい違いではありませんが、2つは互いに溶け込むことができます。