Mail Archives: cygwin-apps/2002/02/28/15:09:08
Provide a Memento::ToString and Memento(String) or Memento::ToStream and Memento(io_stream &) pair. Then the config file class becomes the caretaker, ensuring that the file goes to the right place, that io exceptions are handled etc., and the ToFoo and (Foo) pair contains the serialisation logic. The serialisation logic is tightly bound to the class content (as it has to be), but the persistence mechanism is not.
> -----Original Message-----
> From: Jason Tishler [mailto:jason AT tishler DOT net]
> Sent: Friday, March 01, 2002 7:02 AM
> To: Robert Collins; Cygwin-Apps
> Subject: Re: setup.exe rebase patch
> On Thu, Feb 28, 2002 at 01:46:44PM -0500, Jason Tishler wrote:
> > > The Memento class is designed to provide a solution to
> both issues.
> > Thanks for pointing me to the Memento pattern. I will
> investigate it
> > and try to come up with a better solution.
> I just read the Memento chapter in the Gang of Four book. I
> don't see how this pattern will help in this case because the
> Memento object is suppose to be opaque. The Memento
> pattern's canonical use is to assist with undo operations
> (i.e., restore state) without breaking encapsulation. I
> don't see how to twist this pattern for use by a general
> persistence mechanism.
- Raw text -