<div dir="ltr">Hi Graeme,<div><br></div><div>I don't understand the problem tiOPF is trying to solve well enough to fully grok it in context - I've never used a database, only flat files. GUI programming in an understandable way... clueless, it always devolves into miserable, miserable spaghetti code.<br><br>That said, it's better spaghetti code than when I started with Lazarus, so maybe eventually it'll be acceptable. Hah!</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 22, 2016 at 2:21 PM, Graeme Geldenhuys <span dir="ltr"><<a href="mailto:mailinglists@geldenhuys.co.uk" target="_blank">mailinglists@geldenhuys.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2016-06-22 18:57, Travis Ayres wrote:<br>
>  The Observer, MVVM,<br>
> Adapter patterns, whatever - it would be great to find more examples of<br>
> these.<br>
<br>
</span>You mean like these... a series of articles I wrote about design<br>
patterns implemented in Object Pascal. ;-)<br>
<br>
   <a href="http://geldenhuys.co.uk/articles/" rel="noreferrer" target="_blank">http://geldenhuys.co.uk/articles/</a><br>
<br>
As for MVVM, I had a different spin on MVP (Model-View-Presenter) and<br>
MVC (Model-View-Controller). Both MVP especially implements everything<br>
from scratch. Instead I implemented MGM (Model-GUI-Mediator) which is<br>
very similar to MVP in concept, except it reuses available widget events<br>
found in all modern GUI toolkit widgets. There is an article on MGM too,<br>
but that was kept simple for the sake of the article. For a much<br>
improved version of MGM, take a look at the code available as part of<br>
the tiOPF project (on SourceForge). The tiOPF implementation of MGM<br>
supports VCL, LCL, fpGUI and FMX (Delphi's Firemonkey) toolkits.<br>
<br>
ps:<br>
  Design Patterns are meant to be documented as an idea of how to<br>
  solve a commonly found problem. It isn't meant to serve as a<br>
  code template. So there can be many ways of implementing the<br>
  same design pattern. eg: Most books and articles I've read<br>
  implement the Visitor pattern in a very limited way. tiOPF<br>
  implements it in a more generic way, and actually makes it even<br>
  more flexible.<br>
<br>
  The tiOPF project is what got me hooked on design patterns. That<br>
  framework uses many different design patterns, and improved the<br>
  quality of the framework tremendously.<br>
<br>
Regards,<br>
  Graeme<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal<br>
<a href="http://fpgui.sourceforge.net/" rel="noreferrer" target="_blank">http://fpgui.sourceforge.net/</a><br>
<br>
My public PGP key:  <a href="http://tinyurl.com/graeme-pgp" rel="noreferrer" target="_blank">http://tinyurl.com/graeme-pgp</a><br>
</font></span><div class="HOEnZb"><div class="h5">--<br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus-ide.org">Lazarus@lists.lazarus-ide.org</a><br>
<a href="http://lists.lazarus-ide.org/listinfo/lazarus" rel="noreferrer" target="_blank">http://lists.lazarus-ide.org/listinfo/lazarus</a><br>
</div></div></blockquote></div><br></div>