問題タブ [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 に答える
2600 参照

php - SymfonyPHPで3層アーキテクチャを実現

これまで行ってきた学校のWebプロジェクトでは、3層のアプローチでアプリケーションを構築しました。データ層、アプリケーション、およびプレゼンテーション層。私はこのアーキテクチャをpythonとjavaで使用しましたが、phpでも使用したいと思います。これらは割り当ての要件であり、mySQLからMongo dbに一度切り替えようとしたときは非常に簡単だったので、レイヤー間の通信は非常に厳密でした。データアクセスオブジェクトの関数内のコードを変更する必要がありました。

前に言ったように、今はphpでもっと大きなアプリケーションを書きたいので、MVCフレームワークであるSymfony2フレームワークをダウンロードしてインストールしました。私の意図は、MySQLのイニシャルでアプリケーションをテストしてから、Redisで切り替えてテストすることです。

ですから、私の質問は次のとおりです。フレームワークの機能とすべての「優れた機能」を使用して、3層アーキテクチャアプリケーションを作成できますか。また、レイヤーをどのように分離できますか。

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

java - アプリケーションにアプリ層がありませんか?

プログラミングは初めてです。SpringMVCWebアプリケーションを作成しました。フロントエンド用のJSP、ミドルウェアコンポーネントとしてのSpring MVCがあり、データ部分については、データをフェッチするようにWebサービスに要求されます。ミドルウェアコンポーネントは、アプリケーション自体からあまり多くのビジネスロジックを持たず、データをフェッチするためだけに存在します。

私の友人は、私のアプリケーションにアプリケーション層がないことを言っています。これは正しいです?現在、アプリケーションをTomcatにデプロイしており、DBはTeradataです。アプリサーバーを使用していません(Webサーバーのみ)。それで、これは私のアプリケーションがアプリ層を欠いていることを意味しますか?詳しく説明してください。

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

java - 階層化アプローチの実装

Java (Swing GUI) で 3 層アプリケーションを作成したいと考えています。レイヤリングを作成するための最良のアプローチは何ですか? パッケージ化するか、別のプロジェクトを作成し、JAR ファイルを含めますか。

0 投票する
3 に答える
704 参照

java - 3 層アーキテクチャの正確性

(欠陥のある) 3 層アーキテクチャで実装されたプロジェクトがあります。私の仕事は、新しいデータベースをプロジェクトに簡単に追加できるように、より一般的なものにすることです。

具体的: SQL データベース用の databaseFacade があり、複数のデータベースを非常に簡単に追加できるように、より一般的なものにする必要があります。この場合、CSV ファイルに書き込みます。

データベース層での私のアイデアは、すべてのメソッドが定義されているインターフェイスを作成することでした。次に、このインターフェイスを実装するデータベース ファサード (どちらを使用するかによって異なります) を用意して、より一般的なものにします。次に、ある種の DBmanager クラスがあります。この DBmanager クラスは構成ファイルを読み取るので、どのデータベースを使用するかがわかります。この情報に基づいて、彼はインターフェイスのインスタンスを作成し、これをアプリケーション層に返します。

しかし、これは私が正しいかどうかわからないところです。アプリケーション層には現在、DBmanager クラス (すべてが正しくカプセル化されており、ファサードを返すために 1 つのメソッドのみが公開されています) があり、その後に DBfacade があります。

これの正しさについて何か考えはありますか?疑問を持っているからです。

0 投票する
3 に答える
6011 参照

c# - MVCコントローラーとビジネスロジックの違い(3層)

ASP.NET の MVC と 3 層アーキテクチャの違いを見つけようとしています。以前のいくつかの質問といくつかのページを参照しましたが、明確な答えを見つけることができました。
MVC の実装に関する msdn ページは次のとおりです: http://msdn.microsoft.com/en-us/library/ff647462.aspx

考えてみてください、私はこのコードを持っています:
Single page aspx UI and code as well


ここで、 ---- ビューとコード ビハインドが分離された ---- .aspx用に異なるファイルがあるとします。

.aspx.cs

  1. 上記のクラスのmsdn ページ リンクを参照してControllerも、ビジネス ロジック (3 層アーキテクチャの中間層の場合と同様) とコントローラーの違いを識別できません。
  2. 3 層と MVC はまったく別のものですか? Visual Studio の ASP.NET アプリケーションは、MVC 形式のように既に分離されたファイルですか? これらに違いがない場合、どちらが好ましいスタイルですか?
  3. .aspx と .aspx.cs が既に分離されている場合、MVC フレームワークはどうなりますか?
0 投票する
2 に答える
928 参照

php - 私の3層のウェブサイトはcUrlを使用してフリーズし続けます

こんにちはstackoverflowの人々、

少し背景

私のPHPはIISを使用してWindows7comにインストールされ、web.configを実装し、SQL Server(mssql)のバージョンは12.0です。

私が構築したサイトは理論上の3層アーキテクチャであり、2つのcomを使用してテストしました。1つのcomにはmssqlとWeb層が含まれ、もう1つのcomにはアプリ層が含まれています。

したがって、ユーザーが接続すると、次のように接続されます

PHPのcUrl関数を使用して、アプリ層にリクエストを送信します。これは次のようになります。

この質問を少し盗用します。

$ .ajax呼び出しを使用して、証言やメッセージなどのWeb層からのものを受け取ることがあります。

一般的なページには、おそらく10〜20個のcUrl呼び出しが含まれています。

問題

問題は、サイトが3〜4ページ後にフリーズし続ける(ランダムですが、通常はこの範囲内です)か、ページがすべてをロードしないことです(これは、curlopt_timeoutオプションによるものであると理解していますか?説明が必要です)。 IISサーバーを再起動します。comをフリーズし続けるのはcUrl関数であることがわかりました。

私は今、解決策を数ヶ月探してきましたが、約20の異なる解決策を経て、私は気が遠くなりました。cUrlがIIS全体をフリーズする(ローカルホスト全体がフリーズする)理由がわかりません。また、サイト全体を別のcomにコピーしても(さらに悪化した)、なぜそれが戻り続けるのかわかりません。

2つのcom(上記を参照)でテストしていたとき、サイトの読み込みが非常に遅くなりました。明らかにcUrlのせいです。

誰かが何が起こっているのか、そして可能であれば解決策に光を当てることができることを願っています。

stackoverflowコミュニティに感謝します。

追加情報

問題の解決に役立つ場合、すべてのcUrlリクエストはアプリ層の単一のphpファイルdbQuery.phpに送信されます。このファイルは、入力を読み取り、必要なmssqlテーブルページを読み込み、情報を取得または送信し、mssqlの結果を次のように返します。 xml。(最大のページで37個のcUrl呼び出しが生成されたため、これがボトルネックになる可能性があると考えています)。

アップデート

今朝(2012年3月26日)cUrl呼び出しの数を減らしてみたところ、Webサイトのパフォーマンスが大幅に向上しました。しかし、凍結はまだ発生します:\

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

c# - asp.netwebformsアプリケーションを使用したEntityFrameworkのベストプラクティス

.net Framework 4.0でasp.netアプリケーションとして構築しており、Linq to entity(Entity Framework)をDataModel(DAL)として使用します。デザインパターンは、EntityFrameworkがDALになる3層レイヤーになります。層。

私の質問は、テーブル用のBLLレイヤーを用意して、select、insert、update、delete関数を呼び出すプレゼンテーションレイヤー(マイページ)から処理できるようにするか、またはEntityFrameworkを直接呼び出す方がよいかということです。私のプレゼンテーション層?

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

c# - 3層アーキテクチャのどこに行くのか

最近、私たちの教授は、私たちのプレゼンテーション層は主にメソッド呼び出しで構成されるべきであり、私たちのコードのほとんどはビジネスオブジェクトとデータアクセス層で行われるべきであると述べました。私の質問は、これには通常、ユーザー入力用のコードが含まれていますか?私が言いたいのはこれです。ユーザーがさまざまなものの値を入力できるように、複数のテキストボックスで構成されるフォームがあります。次に、ユーザーがボタンをクリックすると、情報がデータベースに保存されます。

ボタンもメソッドは次のようになります。

上記のボタンイベントメソッド内のコードは、実際にはプレゼンテーション層クラスではなく、ビジネスオブジェクトまたはデータアクセスクラスに入れる必要がありますか?

これは宿題ではありません。私はプログラミングクラスの外で息子のために90日間の運動プログラムを作成しています。卒業時のポートフォリオとしても利用できるので、標準的な慣習に従っていることを確認したいと思います。

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

delphi - サーバー側で kbmMW クライアントクエリステートメントを取得する方法は?

「OnQueryStatement」メソッドを見つけました:

このメソッドはクライアント側のクエリ ステートメントを取得できますが、すべてのクライアント側のクエリがこのイベントを 2 回トリガーします!(スクリーンショットのように)!なぜですか? client-siade クエリステートメントを正しく取得するにはどうすればよいですか?

前もって感謝します!:)

ps Form1 はサーバー側、form3 はクライアント側です。

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

jakarta-ee - Java-EE6:階層間を通過する@Entityを設計する方法は?

現在、Java-EE6(GlassFish 3.1.2、MySQL Server 5.1、およびNetbeans 7.1.1)を使用した3層アプリケーションに取り組んでいます。

プロジェクトは現在、3つのプロジェクトで構成されています。

  • エンタープライズアプリケーション/EJB:データベース上のエンティティを制御するためのファサード
  • Java Class-Library:データベースモデルを表す@Entity注釈付きクラス(このプロジェクトは、階層間でエンティティインスタンスを交換するために、EEアプリとファットクライアントによって共有されます)
  • J2SEファットクライアント:サーバーリソースのJNDIルックアップ(EJBへのリモートアクセス)

エンティティの作成/変更/削除時にクライアントのGUIを更新するために、各クライアントが起動時にサブスクライブし、EJBコンテナ上のメッセージ駆動型Beanがパブリッシャーとして機能するトピックを実装することにより、JMSを利用することにしました。

今、私は次の大きな問題に直面しています。

  • ライフサイクルリスナー(@PostUpdateなど)をエンティティオブジェクトにアタッチしました。エンティティオブジェクトは、サブスクライブされたクライアントに更新メッセージを公開する必要があります。エンティティクラスはclass-libプロジェクトに存在しますが、パブリッシャーはEEアプリに存在します。問題は、EEアプリがclass-libプロジェクトを参照するが、その逆はできないことです(循環プロジェクト参照は許可されていないため)。したがって、エンティティクラスのライフサイクルコールバックメソッドには、EEアプリのメッセージ駆動型パブリッシャーBeanへの参照がありません。

これはより設計に関連する質問であり、Java-EE6を使用して3層アプリケーションを設計するための基本的に正しいアプローチであるかどうかを尋ねます。

複雑さをできるだけ低く抑え、アプリケーションが大量のネットワークトラフィックを生成しないようにするために、可能であればDTO/DAOを避けたいと思います。

事前にアドバイスありがとうございます!