2017-07-17 9 views
0

新しいSPAアプリケーションを設計しています。最初に、3つのティアアプリケーションを計画しました。シングルページアプリケーションのアプリケーション層が必要ですか

アプリケーション層(ウェブページを提供し、他のすべてのデータ要求のプロキシとして動作します)。

ビジネス層(これは、すべてのビジネス機能のWebAPIをホストします)。

データベース層(データを保存する)。

このアプリケーションはHTML5アプリケーションとなりますので、我々は、データ要求のためのアプリケーション層を迂回し、直接ブラウザからビジネス層を呼び出すことができますか?私たちが見ることができる

  1. 一つの欠点は、CORS要求 へとプリフライトも絵に来るいくつかの要求のためになるということです。それはちょっと遅くなるかもしれません。

  2. 外部サービスヒットのデータを組み合わせてデータを形成すると、このロジックはブラウザに渡されなければなりません。

これらの行に何かお答えください。それはより良いパフォーマンスになります以下の層/物理的に分離するよりもパフォーマンスだ場合

おかげで

答えて

0

階層は、お使いのアーキテクチャの目標が何であるかに依存します。ただし、キャッシングなどのパフォーマンスを軽減するために使用できる他の手法もあります。

このような典型的なシナリオでは、後でUIレイヤー、APIレイヤー、データなどの別々の物理レイヤーにレイヤーを分ける方が良いでしょう。また、APIはUIの一種でもあります。ページを配信する代わりに、uはデータを配信しています(json)。

ビジネスロジックは、他のレイヤーを使用せずにテスト可能である必要があります。

私は正解が常にあなたの状況やパフォーマンスのスケーラビリティ、信頼性、変更の容易さなどのアーキテクチャの目標に依存すると思います。

しかし、これは一般的なガイダンスとして取り上げることができます。

関連する問題