問題タブ [3-tier]

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.

0 投票する
2 に答える
989 参照

c# - 3 層アーキテクチャのリファレンス

ASP.Net を使用した 3 層アーキテクチャに関するリファレンスを探しています。リンクをいくつか教えてください。

0 投票する
1 に答える
355 参照

php - 複数のマシンに簡単に配布できる単一のサーバーで3層アプリを作成する方法

同じクラスター上の別々のサーバーで動作することになっている、同じサーバーで動作する3層アプリケーションを作成するための最良の方法が何であるかについて興味があります。

RESTを使用して、表現層を論理層に接続し、両方ともローカルホストで実行されているDBに接続しますか?このためのフレームワークはありますか?

0 投票する
2 に答える
2237 参照

c# - ASP.NET C#データアクセス層機能の問題

.NETサイトで3層アーキテクチャを使用しています。現在、私のDAL(データアクセス層)には、ロード、更新、挿入、および削除があり、すべて正常に機能しています。ただし、メールアドレスでデータを取得する関数を作成したいと思います。

以下は私のloadinsertそしてgetByEmailAddressそれは私のデータアクセス層にあります

次は私のビジネスアクセスレイヤーです。

ロードとインサートはかなり標準的で機能します。ただし、getByEmailAddressは正しく構成されていません。ロードとインサートからコードをミキシングしようとしましたが、失敗しました。誰かが私にこれを修正するヒント、アイデア、または何かを教えてくれますか?getByEmailAddress

ちなみに、その関数は、emailAddress入力が送信されるたびにすべての情報を収集するストアドプロシージャにヒットすることになっています。

前もって感謝します!

0 投票する
1 に答える
243 参照

.net - 申請取引

.net を使用して 3 層アーキテクチャでアプリケーション トランザクションを使用するには? アプリケーション トランザクションはトランザクション スコープに似ていますか?それらが異なる場合、違いは何ですか?

0 投票する
2 に答える
1634 参照

java - 3層のWebサービスを構築する方法

Axis2を使用してApacheTomcatでWebサービス(SOAP)を作成したいので、3層アーキテクチャを尊重する必要があります。

DAO->ビジネスロジック層->プレゼンテーション層

Webサービスは初めてです。このためのステップバイステップのチュートリアルはありますか?

0 投票する
4 に答える
2710 参照

c# - C# 4.0 を使用して 3 層の winform アプリケーションで接続文字列を格納する場所

winforms を使用してアプリケーションを実装しようとしています。3 層アーキテクチャ (GUI、ビジネス ロジック、データ アクセス層) が必要です。

顧客ごとに 1 つのデータベースがあるため、アプリケーションを使用してさまざまなデータベース (さまざまなサーバー上でも可能) にアクセスできる必要があります。たとえば、顧客 A はサーバー A にあり、顧客 B はサーバー B にいます。

編集: 展開シナリオ: このアプリケーションは ServerA にインストールされている可能性がありますが、データベースは ServerA、ServerB、ServerC、ServerX にインストールされている可能性があります (画像が得られると思います)。

ユーザーが接続したいデータベースがわからないため、データベースからデータベース接続を読み取るのはやや複雑です。さらに、ユーザーIDは同じデータベース内でのみ一意であるため、「admin」などのユーザー名を持つユーザーは複数のデータベースに存在できます:)

ユーザー名、パスワード、および接続文字列情報を提供するアプリケーションにログオンできるようにしたいと考えています。では、接続文字列情報を DAL に送信して、GUI もビジネス レイヤーもデータベース接続文字列を認識しなくても済むようにするにはどうすればよいでしょうか。接続文字列を GUI プロジェクトに保存し、それをパラメーターとしてビジネス層に渡し、データベースにデータが必要になるたびに接続文字列を DAL に渡したくありません。

編集: 接続文字列情報は、ユーザーがログインしている間のみ利用可能である必要があります。ユーザーがログアウトするとすぐに、この情報は削除する必要があります)

ApplicationSettingsBase から継承する新しいプロジェクトにクラスを実装しました (UI プロジェクトと DAL プロジェクトの両方が新しいプロジェクトへの参照を持っています)。これで、接続情報を (デフォルトで user.config ファイルに) 永続化できるようになりました。そのため、ユーザー インターフェイスからそのクラスをインスタンス化し、クラスで base.Save を呼び出して接続情報を保存し、DAL で同じクラスをインスタンス化し、そこで接続情報を読み取ることができます。user.configファイルがWindowsユーザーに関連付けられているため(ファイルを C:\Users...\AppData\ 階層に保存することにより、そのソリューションが好きかどうかわかりません。これを行うことによるパフォーマンスについてはわかりませんやり過ぎかな?

編集:私はまだ満足のいく解決策を見つけることができなかったので、コミュニティからのより多くの回答に感謝します:)

編集:

これを解決する方法を見つけました。私は小さなテスト プロジェクトでソリューションをテストしただけですが、次のようになります。

ユーザーがログインすると、ログイン情報の取得を担当する UI メソッドが次のメソッドを実行します。

SetTempingSetting() メソッドは、接続文字列を ProjectName.dll.config に書き込みます。

DAL プロジェクトでは、次のように ConfiguraionManager から接続文字列を取得できます。

また、ユーザーがアプリケーションからログアウトすると、logout メソッドはこのメソッドを実行して Project.dll.config から接続文字列を削除できます。

この解決策について何か考えはありますか?長所?短所?オーバーエンジニアリング?設計が悪い?

0 投票する
2 に答える
142 参照

c# - Programm クラスからウィンドウを開きますか?

コンソール アプリケーションがあります。したがって、「UserInterface.xaml」というウィンドウを開く必要があります。これはウィンドウです。

私のクラスのプログラムは次のとおりです。

問題は、UserInterface.xaml が開かれているが、すぐに閉じられる場合です。そして、ユーザーからデータを取得するために必要です。

これは私のクラス UserInterface です:

UserInterface ウィンドウを開いたままにするにはどうすればよいですか?

0 投票する
1 に答える
200 参照

3-tier - 適切な3層(ORMなし)のWebプロジェクトを構築する方法

私はレガシーWebプロジェクトに取り組んでいるので、ここで利用できるORM(EF、Nhibernate)はありません。ここでの問題は、新しい関数を実装する際に構造が面倒だと感じることです。

私がビジネスオブジェクトチームを持っているとしましょう。プロジェクトの現在のコーディングスタイルに従ってGetTeamDetailsByOrganisationを取得する場合は、次が必要です。

  1. チームのDALで、メソッドGetTeamDetailsByOrganisationを作成します
  2. Biz Object TeamでメソッドGetTeamDetailsByOrganisationを作成し、作成したばかりのDALメソッドを呼び出します
  3. チームのBALで、Bizオブジェクトのチームのメソッドを別のメソッド(同じ名前のGetTeamDetailsByOrganisationなど)でラップします。
  4. ページコントローラクラスはBALメソッドを呼び出します。

それは正しくないと感じています。どんな良い習慣やパターンでも、ここで私の問題を解決することができます。

0 投票する
1 に答える
2485 参照

c# - ASP.NETとLinq2Sqlを複数のテーブルで使用する3層アプリケーション

こんにちは皆さんこんにちは私は私の3層アプリケーションに問題があります私は3層アーキテクチャアプリケーションでlinq2sqlを使用して複数のテーブルからデータを取得する方法がわかりませんここに各層のコードがあります

GestionProjetCommonプロジェクト

クライアントクラス:

}

プロジェクトクラス:

GestionProjetDALプロジェクト

GestionProjetDAクラス:

GestionProjetBusinessプロジェクト

GestionProjetBクラス:

ご覧のとおり、1つのテーブルからデータを取得することに問題はありませんが、唯一の問題は複数のテーブルからデータを取得することです。

私は一晩中解決策を探していましたが、それが見つかりませんでした。ありがとうございます。

0 投票する
2 に答える
1844 参照

python - mongodb でサーバー側のフックを使用するための推奨される方法は何ですか?

MongoDB は、非正規化された方法で MySQL をハッキングした場合と比較して、非常に優れたパフォーマンスを発揮します。データベースの移行後、データベース操作の後/前に呼び出すサーバー側の手順が必要になる可能性があることに気付きました。ある種の 3 層アーキテクチャ。プロトタイプを作成する可能で簡単な方法を考えているだけです。svn や git のサーバー側フックと同様に、mongodb 用の軽いサーバー側フックはありますか?

ex、コミット後、コミット、...