But supposed you wanted to write something which showed the state of the computation at each step. Then the model and the view are more intertwined and the model can no longer act as if it "just does it's job" regardless of what view gets tacked onto it later.
Turn the computation data model into something that can be "stepped". That is, instead of
$computation->run();
set it up so that you can do something like
while ( ! $computation->done() ) {
$computation->step()
}
Assuming the computation data model is playing fair, it'll notify all views that it has changed after each step, giving each view a chance to redraw (or reconfigure itself and redraw). You're going to take a big performance hit, but if the point is to illustrate the computation, so be it.
This is a standard technique in the MVC world.
The process of thinking through how to split a computation into steps, and what state needs to be maintained between steps, can be difficult, but is often be very insightful.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.