2012-04-26 10 views
2

私は現在、ASP.NET MVC 3、PHP + Cake、およびJava SpringでC#Webアプリケーションをコーディングするのにまともです。これらの3つを使用して、レイヤードデータ、ドメイン、サービス、およびプレゼンテーションアプリケーションを作成することができます。私はそれらをうまく整理することができます。大規模なAjaxアプリケーション設計パターン

しかし、応答性の高いAJAXが必要です。 jQueryを使用してコントローラーに小さなモデルのポストバックを1つずつフックするのは、本当に不快です。

MVC(Controller + View + View Model + JavaScript)デザインパターンはありますか?私は最近Knockout JSとBackbone.jsについて読んだことがありますが、実際には "アーキテクチャ"の大きな言葉と、彼らが健康的なデザインパターンはもちろんのこと、もたらす利点を理解していないようです。

Google Docs/Calendar/Mailのような高度なJavaScriptアプリケーションやCompilrのような優れたチュートリアルやサンプルがありますか?

答えて

2

javascriptにはかなりのMVC実装があります。

正直言って、サーバー側のテンプレート、モデル、ビュー、コントローラなどが必要なだけでなく、JavaScriptの場合には、このようなものが必要ですドム操作の多くが懸念されています。

次は人気のあるフレームワークのリストです: http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/

しかし、JavaScriptを使用してこれらの多くは、Node.jsのモデル(でクライアント側とサーバの両方の側(S)に向かって進んでいることに注意してください。構文。

C#またはasp.netなどで開発する場合は、アーキテクチャのその部分をサービスレイヤーとして計画する方がよいでしょう。次に、多くのテンプレートの責任を静的ファイルとjavascriptにプッシュします。あなたが拡大しているときに、あなたがいたいと思う場所は間違いありません。

また、あなたはまた、あなた自身で決定するだけで、多くのイデオロギー的な質問にぶつかります。

+1

これは私の無知を示​​すかもしれませんが、「静的ファイルとjavascriptへのテンプレートの責任を押してください」と言うと、株式MVC/Razorの設定とは何か違いがありますか? – theringostarrs

+0

MVCは単なる設計パターンであり、どこにでも実装できます。したがって、動的なデータと強く結びついたビューをサーバー側で作成することができます。したがって、実際にキャッシュすることはできません。プロジェクトが十分にjavascriptyになると、コード全体に "

  • " + someVar + "
  • "のような文字列がたくさんあるので、多くのDOM操作を行うことになります。これは、静的なクライアント側のmvcを持つ場合の値を見るときです。 – Kristian

    +0

    よろしくお願いいたします。私は調査する必要があります - 私はいつも株Webサーバー/クライアントテンプレート/ JSのアプローチをしてきました。 – theringostarrs

    2

    あなたが深刻なJS開発に参加している場合、あなたが考える必要があるMVC以外にも多くの懸念があります。

  • イベントベースのメッセージング切り離さ通信用モジュール階層にJSファイルの
  • 依存関係の管理を作成するソリューション
  • を構成

    • ルーティング、ブックマーキングおよび組み込み可能なコンポーネント
    • ユニットテスト
    • ローカライゼーション
    • ドキュメントジェネレータエーション
    • JSの最適化と難読化

    複雑なJSプロジェクトのカップルの後、私は複雑なアプリケーションにその作成BoilerplateJSを構築する上で、私の経験を共有したいと思いました。 BoilerplateJSは、上記のような懸念事項に対処する大規模な開発のための参照アーキテクチャです。

    http://boilerplatejs.org/

    BoilerplateJS製品モジュールおよびUIコンポーネントへのあなたの複雑な製品スイートを構築することができます。参照アーキテクチャのコードベースでは、いくつかのサンプルが実装されています。

  • 関連する問題