問題タブ [bll]
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.
c# - ASP.NET C# で最も一般的に使用される拡張機能とヘルパー関数
私は ASP.NET C# Web 開発者です。
従うアーキテクチャは 3 層です
使用される層は
1. UI
2. BLL (BLL との通信は Web サービスを使用して行われる場合があります)
3. DAL
かなり基本的なもの。
私が本当に欲しいのは、BusinessLogics の BLL.Common クラスです。
ここでは、ほぼすべてのアプリケーションで使用されている便利な拡張機能とヘルパー関数をいくつか使用したいと思います。
例は IsNullOrEmpty 拡張です。
開発者が最もよく使用するヘルパー関数はどれですか?
リストを取得できればさらによいでしょう。
よろしく、
ナビーン
model - bll、dal、モデルの使い方
私の会社では、データベースを使用してアプリケーションを作成するために、Bll、Dal、およびモデル レイヤーを使用する必要があります。
私は学校で、すべてのデータベース テーブルをモデル内のオブジェクトにする必要があることを学びました。そのため、データベースのモデル全体を作成します。また、すべてのテーブル (またはモデル オブジェクト) に対して、DAL に作成された DAO が必要であることも学びました。だから私はこれをします。
今、私は BLL クラスにこだわっています。DAO/ModelObject ごとに BLLclass を作成することも、(ロジック) DAO を組み合わせた BLLclass を作成することもできます... または、すべてを管理する Bllclass を 1 つだけ作成することもできます。(この最後のものは、それが最善の方法ではないと確信しています..)
この Bll の「問題」を処理するためのベスト プラクティスは何ですか?
そして2つ目の質問です。bll が責任を負わない他のテーブルから tablecontent を必要としている場合、コンテンツを取得する最良の方法は何ですか? 担当の BLL に問い合わせるか、DAO に直接アクセスしますか?
過去 2 か月間、これらの質問に苦しんでいますが、どのように対処するのが最善の方法なのかわかりません。
c# - .net、ビジネスロジックとDAL間のC#インターフェイス
私は小さなアプリケーションを最初から作成し、それを使用してアーキテクチャと設計の概念を自分自身に教えようとしています。これは.NET3.5、WPFアプリケーションであり、データストアとしてSqlCompactEditionを使用しています。
私はビジネスロジック層に取り組んでおり、DALの作成を始めたばかりです。SqlCeComamndsを使用して単純なクエリを送信し、SqlCeResultSetを使用して結果を取得しています。InsertメソッドとUpdateメソッドの設計を開始しましたが、ここに問題があります。必要なデータをBLLからDALに取得するための最良の方法がわかりません。ジェネリックコレクションを渡すことはできますか?データベースのすべてのデータを含む大規模なパラメータリストはありますか?実際のビジネスオブジェクトを渡すだけですか(したがって、DALをBLLの具体的なものに結び付けますか?)。
インターフェイスを使用することを考えました。IBusinessObjectAをDALに渡すだけで、現在の実装に過度に縛られることなく、探しているシンプルさが提供されます。皆さんはどう思いますか?
c# - dbml によって形成されるデータ アクセス層の機能
必要なすべてのオブジェクトを含む 1 つの DBML によって形成されるデータ アクセス レイヤーを取得しました。この dbml にさらに機能を記述する必要がありますか、それとも dbml を DAL として使用できますか? これは、現在、ビジネス ロジック レイヤーのテーブルからすべての記事を取得するなどの機能を作成しているためです。だから私は今、ちょっと迷っています。ビジネスレイヤーに何を入れるかが明確になるように、どのような例を挙げればよいでしょうか。
c# - インスタンスの正しいタイプを返すBLL
私は「Artikel」というクラスを持っていて、そこでビジネスロジックを書いています。タイプである「tArtikel」というクラスもあります。私のクラス「Artikel」では「tArtikel」を使用しており、返品はそのタイプです。「Artikel」をインスタンス化するときは、「tArtikel」タイプにしたいので、コードで試したのは次のとおりです。
その結果、「「Artikel」メンバー名は、それらを囲むタイプと同じにすることはできません」。
これを正しく設定するにはどうすればよいですか?
c# - DAL と BLL へのデカップリング - 私の懸念
このトピックに関する多くの投稿で、私の質問に答えない非常に単純な例に出くわしました。
ドキュメント テーブルとユーザー テーブルがあるとします。ADO.NET で記述された DAL には、すべてのドキュメントをいくつかの基準で再試行する方法があります。今、私はこのリストを作成者の名前とともに表示する必要がある UI を持っています。
私は、JOINステートメントを含むDALの1つのメソッドでそれを行ったことを知っています。ただし、非常に複雑なメソッドを使用するたびに、DB に対して 1:1 をマークしないオブジェクトにカスタム マッピングを行う必要があります。
別のレイヤーに入れる必要がありますか?もしそうなら、私は結合クエリから結果を反復し、各ドキュメント作成者にクエリを実行する必要があります。. . 意味をなさない... (パフォーマンス)
そのようなシナリオの最善のアプローチは何ですか?
visual-studio - ビジネス ロジック用に 1 つまたは複数の dll を使用する必要がありますか?
私の状況では、私の会社は多くのタイプの顧客にサービスを提供しています。ほとんどすべてのお客様が独自のビジネス ロジックを必要としています。もちろん、すべてのビジネス ロジックが継承する基本レイヤーがあります。ただし、すべての顧客に対して 1 つの DLL を使用するか、顧客ごとに 1 つの DLL を使用するかのいずれかで、これを設計する作業を行ったり来たりしています。
私の最大の争点は、ソフトウェアのアップグレードです。当社には 20 社の企業と連携する約 12 人のデータ入力担当者がおり、ダウンタイムがほとんどないことが重要です。私の懸念は、すべてを 1 つの dll に展開すると、会社 B のロジックを更新するだけで、会社 A のロジックにバグが発生する可能性があることです。各会社のロジックに独自の dll があれば、リスクを軽減できると思います。そのため、会社 A に害を与えることなく、会社 B の更新を展開できます。-- これをサポートするのは私だけです。
とはいえ、これは 20 の異なる .dll を管理するのも悪夢のように思えます。これは BLL だけの場合です。View レイヤーと ViewModel レイヤーも作成する必要があります。したがって、潜在的に、20 (会社) * 3 (レイヤー) を持つことができ、これは 60 の .dll に相当します。
ありがとうございました。
architecture - n層アーキテクチャ-BLL、DAL、およびインターフェイス。ベストプラクティスは何ですか?
n層アーキテクチャについて質問があります。似たような質問がたくさんあるので、この質問をする前にじっくり考えました...しかし、文字通り1日半見て、これらの他の答えを読んだ後、私はまだ確信が持てません。一見似ているように見えるさまざまな用語と異なるアプローチは、私を混乱させました。
異なるクラスライブラリにBLLとDALがある場合、BLLとDALの間で通信する1つの方法は、BLLとDALの両方によって参照される別の別個のDLLで定義されたDTOのようなインターフェイスを利用することです。BLLの私のドメインモデルエンティティはこのインターフェイスを実装し、DALのORM生成オブジェクトも実装します。ビジネスエンティティを保存するために、それらをDALに渡すことができます。これにより、共有インターフェイスが実装されているため、正常に受け入れられます。このインターフェイスを実装するオブジェクトをBLLに戻すこともできます。これは、BLLとDALの両方が基本的なインターフェイスを認識するだけでよく、お互いに具体的な実装を認識する必要がないため、合理的と思われます。
私の質問は、反対側にオブジェクトを作成するための最良の方法は何ですか?たとえば、IPersonを実装するBLLにPersonオブジェクトがあり、IPersonも実装するDLLにPersonDataObjectなどがある場合、IPersonのパラメータを受け取るDALのメソッドにPersonを渡し、次にDALでI ' d永続化するには、PersonDataObjectを再構築する必要があります。これも最良の方法ですか?
申し訳ありませんが、私はかなり混乱しているので、おそらくこれをあまりよく説明していません。ダミーの回答のベストプラクティスをいただければ幸いです。
asp.net - BLLからマルチテーブル結合値を返す方法
この質問は、最終的な学校のプロジェクトでDAL-BLLアーキテクチャを使用して作成しているASP.NETWebサービスに関するものです。
2つのテーブルの内部結合を使用したselectクエリであるストアドプロシージャがあります。したがって、ストアドプロシージャはマルチテーブル値を返します。私のDALtableAdapterメソッドの1つは、このストアドプロシージャにアクセスします。BLLで戻り値を取得するにはどうすればよいですか?ストアドプロシージャによって返されるはずのクラス構造と同様のクラス構造を作成する必要がありますか?または同じことを達成するための直接的な方法はありますか?よろしくお願いします。理解を深めるためにコードアプレットが必要な場合はお知らせください。ありがとう
詳細については、次のとおりです。DALでSQLデータセット(.xsd)を使用しています。だから私は「保険」と呼ばれるデータテーブルを持っています。これにはtableAdapterがあります。アダプタのクエリの1つは、内部結合を持つストアドプロシージャを参照しています。したがって、私のSPは次のようになります。
したがって、このSPは、内部結合の2つのテーブルの組み合わせとなるデータテーブルを返します。私が間違っている場合は私を訂正してください。
今私のBLLで、私は持っています:
ここで、insAdapterはinsuranceTableAdapterのインスタンスです。
これにより、実行時にエラーが発生します。SPを正常に実行できるので、問題はbczだけだと思います。BLLから間違ったデータテーブルを返そうとしています。これを解決するのを手伝ってください。
asp.net-mvc - 別のアセンブリでMVC2.0とモデルを操作する
私はMVCを初めて使用しますが、非常に役立つ情報がたくさんありますが(実際にはたくさんのことを意味します)、MVC2.0で正確な要件を達成する方法を明確に理解することは非常に困難です。
次のようにソリューションを設定したいと思います。
- MVC2.0プロジェクトを使用してWebUIを提供します。
- データの永続性のためにLinqtoSQLクラスプロジェクトを使用します。
- 上記のLinqtoSQLモデルにアクセスする必要がある2つの別個のコードモジュールがあるため、MVCプロジェクト自体にLinqtoSQLモデルを直接含めることはできません。
- また、LinqtoSQLプロジェクトの前にビジネスロジックレイヤーがあります。
私の質問は次のとおりです。
- BLLを介してLinqtoSQLプロジェクトを指すようにMVCアプリケーションのモデル部分を設定するにはどうすればよいですか?
- Webアプリの検証を実行するにはどうすればよいですか?MVC 2.0モデル検証を使用できますか?そうでない場合、代替手段は何ですか?
- 最後に(そして少し脇に)-ViewModelとは何ですか?これはモデルとどのように異なりますか?
非常に多くの質問。しかし、これはエキサイティングな新しいテクノロジーとデータアクセスの問題は別として、私が非常に迅速に把握しなければならない他のすべてのものであり、MVC2.0は素晴らしいと思います。
あなたが提供できるどんなポインタにも感謝します。