<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Hilaire,<br>
<br>
On 8/4/2023 4:18 PM, Hilaire Fernandes via Cuis-dev wrote:
<blockquote cite="mid:4873d2ed-893e-e17c-3431-52e41b73c589@free.fr"
type="cite">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p>Hi folks, <br>
</p>
<p>Cuis does not come with the legacy MVC framework. From what I
read even the Smalltalk coming with MVC offers a revisited
version, ok may be not the Squeak one. Nevertheless it does not
really matter if you want to develop a GUI application with Cuis
because all you need is to use the observer pattern and view
enriched with control, both present in Cuis.<br>
</p>
<p>Indeed, this pattern has seen since then alternate design. For
DrGeo, I pick up a different pattern, MVP, back in 2005.
According to its promoters, MVP fixes MVC flaws, you can read
further about that on related articles below.</p>
<p>In a few word, with MVP, the model informs its views using the
observer pattern, so the model does not know about its view, as
in MVC. The views also handle the low level controls, then
informs the Presenter to take action at the model level. This
part is different than MVC and offer more flexibility.<br>
</p>
<p>In DrGeo there are a lot of different Models: domain of the
application, the math items, the smalltlak sketch, the script,
the macro, etc. Most of them with dedicated Views of different
nature to display, design, etc the models. Then a bunch of
Presenters, with different level of complexity : domain
application presenter, tools to manage the user interaction on
the canvas and builder to manage the process of constructing a
math item.</p>
<p>All in all, I don't see any reason Cuis can not be used to
design a complex GUI application. I have reworked the DrGeo code
and class categories to make it easier to understand the
different levels of responsibility in the application. In repo
but not released in app yet though.</p>
<p><a moz-do-not-send="true"
href="https://drive.google.com/file/d/1jWC7yLw8Q6sZeoq__m7K27vyOT8Dn55I/view?usp=sharing">Dolpin
Smalltalk article about MVP, </a><br>
</p>
<p><a moz-do-not-send="true"
href="http://www.wildcrest.com/Potel/Portfolio/mvp.pdf">Article
from the original designers of MVP</a></p>
<p>Wikipedia: <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter">https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter</a></p>
<p>Hilaire<br>
</p>
</blockquote>
<br>
I haven't written a GUI end user application in Cuis in a while. I
agree that Cuis has what is needed to build complex GUIs. DrGeo is
the primary example.<br>
<br>
I wasn't aware that DrGeo is based on MVP. I never used MVP although
I read about it. Some day I'd find time to understand your design.<br>
<br>
Thanks,<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>