in reply to Re^2: Implementing Model-View-Controller
in thread Implementing Model-View-Controller
package main; # Controller; for my $foodtype(sort keys %{$Model::data}) { my $food = Model::get_food($foodtype); View::show_food($foodtype,$food); }
You're right that my example that used qw(fruits vegies) gave the Controller knowledge of the Model. But so does yours. Yours breaks the MVC separation because the Controller now needs to know that the Model stores its data in a hash. If we add sub get_keys { sort keys %$data } to the Model, the Controller can then do this: for my $foodtype( Model::get_keys ) ... and thus be freed from knowing anything about how the Model stores things. If the Model changes to using a database, you could still have a Model::get_keys() method that would do a DISTINCT query and the Controller wouldn't need to change at all.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Implementing Model-View-Controller
by dimar (Curate) on Jan 05, 2006 at 19:33 UTC |
In Section
Seekers of Perl Wisdom