|
Hello guru's,
I'm experimenting with MVP for a while now and I'm wondering, why in some implementations the model has to know about the view (e.g. WinForms Model View Presenter[^] ).
Why not simply implementing the model as a "subject" (Observer-Pattern) which raises events which are consumed by the views.
Thanks in advance
modified on Monday, August 17, 2009 1:17 PM
|
|
|
|
|
IMNSHO the Model should not necessarily know about the View, So the Delegate/Event methodology (one of the .NET implementations of Observer) is the best way to achieve that.
A lorra, lorra plumbing though.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
MVP has got two variants. Supervising Controller and Passive view. Unlike MVC, a model will not know anything about view in MVP. Like you said, view uses data binding or subscribing to events model raises for displaying the model changes if it is simple. When the display in view is complex, presenter will take care about doing that.
Jeremy Miller explains what's the model here[^]. His building cab series[^] is also worth reading.
|
|
|
|
|
Thank you for your nice answers !
I have another topic. Let me present it in form of a statement.
"It does not harm architecture, if a view has detailed knowledge of the presenter's datastructures (not the app-logic), because the view anyway is totally addicted to the application"
Best regards
|
|
|
|
|
Sorry for this stupid question, but what is a "CAB" and what is "OSS" (both mentioned in the blog of J. Miller)
Thanks
|
|
|
|
|
Hi I have an app with its main form MAIN which is an mdi container.
One of the options from this MAIN is to show a database record in a
new dialog (DIALOG_A).
This new dialog is a mdi child and its mdiparent is MAIN.
Now another operation that MAIN can perform is to create another new
dialog (DIALOG_B).
This also is a child mdi and its mdiparent is MAIN.
However, from DIALOG_B .... i would like to call DIALOG_A also.
I am getting problems however becuause Dialog_A is not an MDI
container.
Could some one suggest some help.
Thank you very much.
|
|
|
|
|
Does call means opening the form? If you can show some code it would be better.
Although you can create the instance of form A and open it using Show method. You can set it's MDI parent as the Main form like this:
FormA frmA = new FormA();
frmA.MDIParent = this.MDIParent;
frmA.Show();
This code would come in the FormB and MDIParent of the FormB should be MainForm.
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
Hi .. Yes call means -> Instanciate the form.
Thank you.
|
|
|
|
|
In that case the code I had posted should work for you. Or it does not?
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
Hi ...
Your solution does work.
Many Thanks.
Regards.
Gerry.
|
|
|
|
|
Could you please clarify:
gerrybrennan wrote: from DIALOG_B .... i would like to call DIALOG_A
Does this mean you wish to be able to create a new Dialog_A from Dialog_B, or do you want to Call some function in Dialog_A from Dialog_B?
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
Yes -> Does this mean you wish to be able to create a new Dialog_A
Thank you.
|
|
|
|
|
If the code from d@nish does not work, please come back, and I will try to help you.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
Thank you also Henry
Gerry.
|
|
|
|
|
Are you saying that you want MAIN to launch a new form, DIALOG_B, and make it an MdiChild of MAIN, then DIALOG_B creates a new instance of DIALOG_A and make it an MdiChild of DIALOG_B???
You can't do that. An MdiChild form cannot also be an MdiParent at the same time.
|
|
|
|
|
|
hello
can Console app be minimized to system tray?
Thanks
dev
|
|
|
|
|
You will have to write a separate app that would show an icon in the tray. But then, I am not sure if you could hide a console window. What's wrong with a normal application? Why a console app?
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
See this[^] link.
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
Interesting! So, console is also being emulated by the framework, I guess. Otherwise, a 'console' as such may not be able to understand a ShowWindow() call. I wonder how simple has .NET made things for programmers.
But it's such a relief that at least the tray app has to be written separately (as opposed to the framework exposing something like ThisConsoleApp.HaveTrayIconz = true; ).
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Hello Everyone
This is Shakeer Baig from India. I am a Programmer in C#.Net. I would like to develop a application which consists more of Notepad more of Wordpad more of Mspaint more of Alarm CLock more of Games more of PDF files more of Scientific Calculator all into one single application which is more helpful for the future Mankind and i do not know a source code for how to retrieve a image from a Sql Database Even if i get the Image not the desired. So pls kindly share your views with me.
Thanks and Regards
Shakeer Baig.
|
|
|
|
|
I suggest you start with some less ambitious goals; study a couple of books, read some articles here on CodeProject, and then try some small apps first.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
sshakeerbaig wrote: I would like to develop a application which consists more of Notepad more of Wordpad more of Mspaint more of Alarm CLock more of Games more of PDF files more of Scientific Calculator all into one single application which is more helpful for the future Mankind and i do not know a source code for how to retrieve a image from a Sql Database Even if i get the Image not the desired. So pls kindly share your views with me.
Bad question.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
sshakeerbaig wrote: helpful for the future Mankind
Don't breed.
|
|
|
|
|
A few more features and it could well become an OS. But wait...an OS written in .Net!!!
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|