2016-10-24 6 views
0

現在、私はプロジェクトで働いています。私は私の昔の同僚がやっていたことにちょうど従っています。彼らはASP.NET(C#)とangularjsを使用しています。すべてのビジネスロジックがJavaScriptの部分で計算され、データベースを通信するためにC#部分を使用するだけで驚いた。参考までに、私たちは常にストアドプロシージャを使用しています。これは本当にシステムを構成する良い方法ですか?私はおそらくそれは良い習慣ではないことを開こうと思っていますが、私はPHPの世界から来て以来、私は強い理由はありません。JavaScriptのビジネスロジック

+0

ここでの実際の質問は、JavascriptやC#ではなく、*コードがクライアントやサーバー上で実行される場所です。 – HimBromBeere

+0

そうですが、私はそれが既に既存のプロジェクトであるためにそのようにしました。 – Fred

+0

Javascriptでビジネスロジックを実行することは必然的に悪いことではありません。それは、豊富なクライアントまたは太いクライアントという用語が意味するものであり、それはまったく問題ありません。それはかなり巨大になる可能性がトラフィック上のいくつかの警告があります。しかし、多くのシチュエーションでは、サーバーコードへのアクセス権がないため、クライアント側でデータ操作を行う必要があります。 – HimBromBeere

答えて

0

は複数の理由のために避けるべきである。

  1. デザイン:主に、ビジネス層は、サーバであるべきであり、唯一のUI層つまりHTML/JavaScriptがの処分にする必要がありますクライアント側。
  2. セキュリティ:パブリックドメインでの知識が豊富であるほど、アプリケーションに対する脅威が増えます。
  3. メンテナンス:ビジネスオブジェクトをJavaScriptで埋め込むより効果的に再利用することができます。多くの場合、各.aspxページには独自のJavaScriptファイルセットがあります。これは必ずしも正しいとは限りません。
+0

これはありがとう、多分今私は守るために有効な理由があります:) – Fred

0

これがどれほど悪いかを完全に評価するには、あなたのビジネスは十分に分かっていませんが、ひどいです。

ご要望に応じて、ビジネスロジック全体を顧客や競合他社に郵送しています。

最大の欠点は、もちろん、すべてのビジネスロジックが実行されたと仮定することです。クライアント側で起こるすべては、クライアントによって改ざんされることに非常に敏感です。

ビジネスルールのサーバー側での施行はありませんか?インベントリ内のすべての商品の注文を$ 1に設定した場合は、それを受け入れ、商品を発送し、顧客に1ドルを請求します。 JavaScriptでビジネスロジックを置く

+0

私はすべてのビジネスロジック、計算、データのバリデーションがjavascriptファイルで行われていると言っていたので、最初は私が知っていた限り、ビジネスロジックをサーバースクリプトで行う必要があるからです。 – Fred

+0

@Fred:公開サイトですか?リンクがありますか?おそらく我々はいくつか説得力のある議論を生み出すことができるでしょう:) –

+0

現在、Webでまだアクセスできない瞬間はありません。 – Fred

関連する問題