Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 242463
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T20:50:23+00:00 2026-05-11T20:50:23+00:00

I think I understand the basic concepts of MVC – the Model contains the

  • 0

I think I understand the basic concepts of MVC – the Model contains the data and behaviour of the application, the View is responsible for displaying it to the user and the Controller deals with user input. What I’m uncertain about is exactly what goes in the Controller.

Lets say for example I have a fairly simple application (I’m specifically thinking Java, but I suppose the same principles apply elsewhere). I organise my code into 3 packages called app.model, app.view and app.controller.

Within the app.model package, I have a few classes that reflect the actual behaviour of the application. These extends Observable and use setChanged() and notifyObservers() to trigger the views to update when appropriate.

The app.view package has a class (or several classes for different types of display) that uses javax.swing components to handle the display. Some of these components need to feed back into the Model. If I understand correctly, the View shouldn’t have anything to do with the feedback – that should be dealt with by the Controller.

So what do I actually put in the Controller? Do I put the public void actionPerformed(ActionEvent e) in the View with just a call to a method in the Controller? If so, should any validation etc be done in the Controller? If so, how do I feedback error messages back to the View – should that go through the Model again, or should the Controller just send it straight back to View?

If the validation is done in the View, what do I put in the Controller?

Sorry for the long question, I just wanted to document my understanding of the process and hopefully someone can clarify this issue for me!

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T20:50:23+00:00Added an answer on May 11, 2026 at 8:50 pm

    In the example you suggested, you’re right: “user clicked the ‘delete this item’ button” in the interface should basically just call the controller’s “delete” function. The controller, however, has no idea what the view looks like, and so your view must collect some information such as, “which item was clicked?”

    In a conversation form:

    View: “Hey, controller, the user just told me he wants item 4 deleted.”
    Controller: “Hmm, having checked his credentials, he is allowed to do that… Hey, model, I want you to get item 4 and do whatever you do to delete it.”
    Model: “Item 4… got it. It’s deleted. Back to you, Controller.”
    Controller: “Here, I’ll collect the new set of data. Back to you, view.”
    View: “Cool, I’ll show the new set to the user now.”

    In the end of that section, you have an option: either the view can make a separate request, “give me the most recent data set”, and thus be more pure, or the controller implicitly returns the new data set with the “delete” operation.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I think I'm on the right track to understand the basic concepts of git.
I think I understand the basic principals of T4 but I'm having a hard
I understand (I think) the basic idea behind RESTful-ness. Use HTTP methods semantically -
I am new to unit testing, I understand the basic concepts, and I am
I think I understand the basic of stack memory, but I still do not
I have a problem in understanding some basic concepts here i think ... I
[as you'll see, I don't understand the basic concepts of a TCP server and
I'm learning C++ from book. I think I understand basic concept but the book
I think I do understand the basic IDEA of move semantics, but now when
I am trying to optimize my program. I think I understand the basics of

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.