タグ付けされた質問 「model-view-controller」

モデル-ビュー-コントローラ(MVC)は、ソフトウェアエンジニアリングで使用されるアーキテクチャパターンです。Microsoft ASP.NET MVCの場合は、代わりに[asp.net-mvc]または[asp.net-core-mvc]タグを使用してください。Spring MVCの場合は、代わりに[spring-mvc]タグを使用してください。

4
オブザーバー、Pub / Sub、データバインディングの違い
オブザーバーパターン、パブリッシュ/サブスクライブ、データバインディングの違いは何ですか? Stack Overflowで少し検索したところ、良い答えは見つかりませんでした。 私が信じるようになったのは、データバインディングは一般的な用語であり、ObserverパターンやPub / Subパターンなど、それを実装するさまざまな方法があるということです。オブザーバーパターンでは、Observableがオブザーバーを更新します。Pub / Subを使用すると、0人のパブリッシャーが特定のクラスのメッセージをパブリッシュでき、0人のサブスクライバーが特定のクラスのメッセージをサブスクライブできます。 「データバインディング」を実装する他のパターンはありますか?

12
並べ替えロジックは、モデル、ビュー、またはコントローラーのいずれに配置する必要がありますか?[閉まっている]
この投稿を改善してみませんか?この質問に対する詳細な回答を提供します。これには、引用と、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する テーブルの値をエンドユーザーに表示するドロップダウンリストがあります。これらの値をアルファベット順に並べ替えたいのですが。 適切なMVC設計によると、モデル、ビュー、コントローラーのどのレイヤーにソートロジックを配置すればよいですか? 編集:LarsHの質問「どの並べ替え順序が必要かを決定するコードを意味しますか?または、並べ替えを実行するコードを意味しますか?」に対して、私は元々、どの並べ替え順序が必要かを決定するコードを参照していました。


7
ngRepeatを使用するときに表示される結果の数を制限する
AngularJSチュートリアルを理解するのは難しいと思います。これは、電話を表示するアプリを作成する手順を示しています。私はステップ5にいます。実験として、表示したい数をユーザーが指定できるようにしようと思いました。ビューは次のようになります。 <body ng-controller="PhoneListCtrl"> <div class="container-fluid"> <div class="row-fluid"> <div class="span2"> <!--Sidebar content--> Search: <input ng-model="query"> How Many: <input ng-model="quantity"> Sort by: <select ng-model="orderProp"> <option value="name">Alphabetical</option> <option value="age">Newest</option> </select> </div> <div class="span10"> <!--Body content--> <ul class="phones"> <li ng-repeat="phone in phones | filter:query | orderBy:orderProp"> {{phone.name}} <p>{{phone.snippet}}</p> </li> </ul> </div> </div> </div> </body> …

12
MVCとn層アーキテクチャ
MVC(アーキテクチャパターン)とアプリケーションのn層アーキテクチャの違いは何なのでしょうか。探したのですが、簡単な説明が見つかりませんでした。私はMVCの概念について少しナイーブかもしれないので、誰かが違いを説明できればそれは素晴らしいでしょう。 乾杯

30
JavaScript MVC(マイクロ)フレームワークはありますか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 クライアント側のJavaScript MVC(マイクロ)フレームワークはありますか? 私はかなり複雑なHTMLフォームを使用しており、MVCパターンの恩恵を受けるでしょう。 良い解決策は以下を提供すると思います: モデルとビューは、値が変更されるとコントローラーを更新します(オブザーバーパターン) ページが読み込まれたときにフォームデータからモデルにデータを入力する モデルが変更されたときにモデルからフォームに入力する Ajax、彗星、JSONP、そしてそのすべてのジャズは深刻な過剰です。

10
Backbone.jsでサブビューをレンダリングして追加する方法
ネストされたビューのセットアップがあり、アプリケーションで多少深くなる可能性があります。サブビューを初期化、レンダリング、および追加する方法はたくさんありますが、一般的な方法は何なのでしょうか。 ここに私が考えたカップルがあります: initialize : function () { this.subView1 = new Subview({options}); this.subView2 = new Subview({options}); }, render : function () { this.$el.html(this.template()); this.subView1.setElement('.some-el').render(); this.subView2.setElement('.some-el').render(); } 長所:追加で正しいDOM順序を維持することを心配する必要はありません。ビューは早い段階で初期化されるため、render関数では一度にすべてを実行する必要はありません。 短所:コストがかかる可能性のあるredelegateEvents()を強制されますか?親ビューのレンダリング関数は、発生する必要のあるすべてのサブビューレンダリングで乱雑になりますか?tagName要素のを設定する機能がないため、テンプレートは正しいtagNamesを維持する必要があります。 別の方法: initialize : function () { }, render : function () { this.$el.empty(); this.subView1 = new Subview({options}); this.subView2 = new Subview({options}); this.$el.append(this.subView1.render().el, this.subView2.render().el); …

1
DTOおよびDAOの概念とMVC [終了]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 1)DTOとを使用する理由とDAO、いつ使用する必要があるか。GUIデータの挿入、編集、削除を行うJavaソフトウェアを開発しています。しかし、私は区別するために苦労していますDTO/DAOとModel、View、Controller(MVC)構造?それらは似ていますか?Javaを介してデータベースと対話するときに使用する方が良いGUIです。 2)私はおよそ本当に興味の一つは、持っているのは良い習慣であるかどうかであるviewとController一つのクラスインチ を考えるとNetbeans、GUIフレームクラスを作成してコンポーネントをフレームに追加できJButtonます。ボタンをダブルクリックactionListenerすると、データがユーザーに表示されるフレーム(フレーム)に表示されるメソッド(コントローラー)に移動します(表示) 。つまり、彼らは同じクラスに属しています。それはそのコンセプトに完全に反するのか、そうでないのか ここで私が話しているものです ビューとコントローラーを1つのクラスに含めるのは悪い習慣ですか?

7
AngularJSにビュー/部分的な特定のスタイリングを含める方法
アプリケーションが使用するさまざまなビューに個別のスタイルシートを使用する適切な/受け入れられる方法は何ですか? 現在、view / partialのhtmlの上部にlink要素を配置していますが、最近のすべてのブラウザーがそれをサポートしているにもかかわらず、これは悪い習慣であると言われていますが、それが不快な理由がわかります。 他の可能性は、index.htmlに個別のスタイルシートを配置するheadことですが、パフォーマンスの名前でビューがロードされている場合にのみ、スタイルシートをロードします。 CSSがサーバーから読み込まれるまでスタイリングが有効にならず、遅いブラウザーでフォーマットされていないコンテンツがすばやくフラッシュするので、これは悪い習慣ですか?ローカルでテストしているのですが、これはまだ見ていません。 Angularに渡されたオブジェクトを介してCSSをロードする方法はあり$routeProvider.whenますか? 前もって感謝します!

7
jQuery Data()APIを使用してデータ属性を設定できません
MVCビューに次のフィールドがあります。 @Html.TextBoxFor(model => model.Course.Title, new { data_helptext = "Old Text" })</span> 別のjsファイルで、data-helptext属性を文字列値に設定します。これが私のコードです: alert($(targetField).data("helptext")); $(targetField).data("helptext", "Testing 123"); alert()呼び出しは、それが警告ダイアログのテキスト「古いテキスト」を示し、正常に動作します。ただし、data-helptext属性を "Testing 123" に設定する呼び出しは機能しません。「古いテキスト」は、属性の現在の値のままです。 data()の呼び出しを誤って使用していますか?これをウェブで調べたところ、何が悪いのかわかりません。 HTMLマークアップは次のとおりです。 <input data-helptext="Old Text" id="Course_Title" name="Course.Title" type="text" value="" />

7
Spring Test&Security:認証をモックする方法は?
コントローラのURLが適切に保護されているかどうかを単体テストする方法を見つけようとしていました。誰かが物事を変更し、誤ってセキュリティ設定を削除した場合に備えて。 私のコントローラーメソッドは次のようになります。 @RequestMapping("/api/v1/resource/test") @Secured("ROLE_USER") public @ResonseBody String test() { return "test"; } 私は次のようにWebTestEnvironmentを設定しました: import javax.annotation.Resource; import javax.naming.NamingException; import javax.sql.DataSource; import org.junit.Before; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.web.FilterChainProxy; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import …

2
MVCに書き換えた後、GUIが機能しない
私はMVCスタイルのプログラミングを実践しています。私は首謀者のゲームを1つのファイルに入れており、正常に動作しています(「チェック」ボタンが最初は表示されていないという事実の一部です)。 http://paste.pocoo.org/show/226726/ しかし、モデル、ビュー、コントローラーファイルに書き直したとき、および空のピン(更新して新しい色で再描画する必要があります)をクリックすると、発生します。誰かがここで何か問題を見ることができますか?repaint()を別の場所に配置しようとしましたが、まったく機能しません:/ メイン: public class Main { public static void main(String[] args){ Model model = new Model(); View view = new View("Mastermind", 400, 590, model); Controller controller = new Controller(model, view); view.setVisible(true); } } モデル: import java.util.Random; public class Model{ static final int LINE = 5, SCORE = 10, …

4
Django対Model View Controller [終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 誰かがDjangoとModel View Controllerパターンの違いを説明してもらえますか? 機能的には、これらの違いから何を期待できますか。つまり、DjangoをRuby on Railsなどと比較すると動作が異なるのは何ですか。

10
MVCは設計パターンまたはアーキテクチャパターンですか
SunとMsdnによると、これはデザインパターンです。 ウィキペディアによると、それは建築パターンです 設計パターンと比較すると、建築パターンは規模が大きくなります。(ウィキペディア- 建築パターン) それとも、デザインパターンもある建築パターンですか? どちらが本当ですか?

6
Qtがモデル/ビューの用語を誤用しているのはなぜですか?
Qtでモデル/ビューコントロールを使用して使用されている用語には欠陥があると思います。上の彼らの説明ページ彼らはビューとコントローラをマージして、彼らは以下の画像を与えていることにより、MVにMVCを簡素化することを、状態: しかし、私は彼らがオブジェクトの役割を誤って名付けたと思います。 マージされたコントローラーでビューと呼ばれるものは、実際にはビューのみです。 彼らがモデルと呼んでいるものは、実際にはコントローラのみです。 あなたが本当にモデルを持ちたいなら、それは彼らの「データ」がどこかにあるでしょう。 アプリでQtモデル/ビューコンポーネントを使用する通常の方法について話しています。理由は次のとおりです。 これは通常、オブジェクトに固有のコントローラーロジックを追加せずに、そのまま使用されるQtコンポーネントです) これはモデルではありません。モデルとは何の関係もない、rowCount、columnCount、dataなどのいくつかのQtメソッドを実装する必要があるからです。実際、コントローラーには典型的なモデルメソッドがあります。もちろん、ここでコントローラーとモデルの両方のロジックを実装できますが、最初はコード設計が非常に悪くなり、次に、コントローラーとビューではなく、コントローラーとモデルをマージします。 理由2で述べたように、モデルロジックを分離したい場合、それは確かに画像の青いボックスではなく、破線の「データ」ボックスです(もちろん、実際のデータと通信しています)。 Qtの用語が間違っていますか、それとも理解できないのは私だけですか?(ところで、それが学術的な問題ではない理由は、プロジェクトの命名に続いてコードを書き始めたのですが、すぐにコードが正しくないことに気づきました。それが後になって初めて、彼らがモデルと呼ぶものにモデルロジックを入れないでください)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.