問題タブ [business-logic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ビジネスロジックとサービス
3 層/多層アーキテクチャ (UI/ロジック/DAO/ドメイン モデル) では、サービスはビジネス ロジック層に属していると見なすことができますか、それとも別のものとして位置付けられますか?
business-logic - POS アプリケーションでの平均的な価格設定の実装?
平均価格を計算できる POS (Point of Sale) アプリケーションを開発しています。これが取引です。それが何であり、消費者向け製品の計算方法がわかりません。この要件を取得しました。私が知っているのは、商品のどの特定の在庫から商品が販売されたかを知る方法がないということだけです(つまり、在庫が補充され続けるとき)。誰かが似たようなことをしたことがありますか、これについて私を助けてください。または、私にいくつかのリソースを提案していただければ。
私はビジネス用語があまり得意ではないので、この問題文にあいまいさがあれば、もう一度質問してください。
.net - 中規模企業にとって不可欠なフレームワーク サービスとは?
中規模の製造会社向けに .NET アプリケーションを作成しています。ほとんどのアプリケーションで使用できる「フレームワーク」Web サービスをいくつか作成したいと考えています。
そのような環境での再利用に役立つ Web サービスは何ですか?
更新: アプリケーションは、外部顧客との電子商取引から、ラベル付け、出荷、在庫、レポート作成まで、すべてを行います。
sql - リポジトリのビジネスルール?
アプリケーションのモデル/プレゼンテーション層に必要なすべてのビジネスルールがあり、それらが正常に機能すると仮定します。私の質問は、冗長なビジネスルール(つまり、2つの日付のスパンが他の既存のスパンと重複できない)をSQLServerなどのリポジトリで使用する必要があるかどうかの1つです。
このルールを適用する制約をSQLServerに追加する必要がありますか?一方では、アプリケーションをバイパスするときに、だれか(DBAを含む)が不注意にビジネスルールを破ることを防ぎます。さらに、プライマリキーと外部キーを介してリポジトリにいくつかの形式のビジネスルールがすでにあります。一方、複製されたルールは、開発と維持に追加の時間を必要とします。
この質問は多くの異なるテクノロジーにまたがっているので、私は意図的にタグを一般的にしました。
architecture - ビジネス層ロジック (BLL) はデータに関するものですか?
BLL はデータに関するものだと思います。SendEmail というメソッドを含めないでください。BLL は、データをキャッシュし、操作し、ビジネスに関連する計算を行うための場所です。電子メールの送信はビジネス プロセスですが、実際に電子メールを送信するコードは BLL 名前空間の外にある必要があります。
BLL はデータのみですか?
c# - C#ビジネスオブジェクトとコレクション
ビジネスオブジェクト、より具体的にはビジネスオブジェクトコレクションに頭を悩ませるのに苦労しています。
これが私がやろうとしていることの簡単な例です。
インシデントオブジェクトがある場合、このオブジェクトには多数の人が関与する可能性があり、それらの各人オブジェクトには複数のメモが含まれる可能性があります。メモはPersonオブジェクトなしでは存在できず、Personオブジェクトはインシデントオブジェクトなしでは存在できません。
Public List <Note> notes = new List <Note>()がある場合、インシデント内のPersonはADDやREMOVEなどのメソッドを使用できるようになります。Notesコレクションでこれらのメソッドを呼び出すと、リストからメソッドが削除されるだけで、データソースから従業員を実際に追加/更新/削除するコードは実行されないと思います。これは私がリストを使うべきではなく何か他のものを使うべきだと私に信じさせますか?
これはまた私を別の質問に導きます。実際のデータベースCRUD操作はどこにあるべきですか。Noteオブジェクトには独自のCRUDが必要ですか、それとも、Personオブジェクトがそれなしでは存在できないため、Personオブジェクトがその責任を負う必要がありますか?
どちらに進むか迷っています。この部分はプログラムの残りの部分のテンプレートになるので、正しく理解したいと思います。
unit-testing - 主にクエリで構成されるビジネスロジックメソッドを単体テストする必要がありますか?
幅広いクラスとそれに対応するメソッドを備えたビジネスロジックレイヤーがあります。メソッドの単体テストの作成は一般的に与えられていますが、場合によっては、メソッドは実際にはデータベースから一致するレコードのセットを返すだけです。たとえば、一致する5つのレコードを格納し、BLLメソッドを呼び出して、5つのレコードすべてが返されるかどうかを確認することで、単体テストを作成するのはちょっとばかげているようです。
ここでのベストプラクティスは何ですか?理想的には何をしたいのかとは対照的に、あなたは実際に何をしますか?
.net - ルール/決定エンジンの開発に最適なパターン
私は意思決定エンジン/ルール評価エンジンに取り組んでいます。例えば:
入力:顧客および顧客によって行われたすべての違反
出力:違反の結果
サンプルケースは次のようになります。
入力:顧客(Jhonny Chimpo、999-00-1111)、オフェンス(ウィンドウを壊し、ボスを平手打ち、股間でチームリードを蹴った)
出力:ピンクのスリップを取得します
したがって、私が書きたいコードは、各オフェンスと複合オフェンスのルールに基づいてさまざまなオフェンスを評価します。現在のコードは、ifステートメントとelseステートメントの単なる迷路です。そのようなビジネス上の問題はよくあることだと思います。このような問題を解決するために通常使用されるデザイン/エンタープライズパターンは何ですか?
仕様パターンですか?コードを拡張用に開いて、クリーンで柔軟にしたいと思います。
user-interface - モデルをGUIから分離する方法は?
これが非常に些細で明白なことではないことを願っています。
私が取り組んでいる同様のプログラムがいくつかあります。各プログラムでは、プロジェクトの保存について将来を実装する必要があります。私は次のデザインで来ました:
基本クラス Project :
仮想関数は派生クラスで再実装されるため、特定のプログラムのみが実際にプロジェクトを保存する方法 (ディスクに保存するオブジェクト) を知っています。
また、新規保存またはプロジェクトを開く際に、ユーザーがプロジェクトを保存/開く場所を選択する [名前を付けて保存/開く] ダイアログが表示されます。たとえば、NewProject() は New メソッドに関して実装されます。
行 1 から 5 は、すべてのプログラムに必要なコードです。つまり、ダイアログが作成され、チェックが実行されるフローと順序は同じです。
ダイアログを作成する実際のコードを Project::New および Project::Open メソッドに配置する必要があるかどうかを考えていました。しばらく考えた後、Project クラスはモデル クラスであり、モデル クラスは GUI を作成すべきではないため、これは適切な解決策ではないと判断しました。したがって、1 行目から 5 行目までのコードを記述するのに最適な場所は、特定のプログラムの保存/開くボタンのイベント ハンドラーであると考えていました。しかし、それは、プログラムごとに複製する必要があることを意味します。
問題は、すべてのプログラムで同じになるダイアログの作成を、コードの複製を必要としない方法でプロジェクトを実際に保存/開くことからどのように分離する必要があるかということです。