Re: New possible design iterations



On Tue, 2006-05-09 at 12:55 +0200, Philip Van Hoof wrote:

> o. Create a Online-Observable (interface and singleton). Make
> TnyCamelSession an observer of the Online-Observable. Make it possible
> to implement the interface on a specific device. For example on a
> WinCE
> device, some ActiveSync techniques could be used. On a Nokia device
> other specific techniques could be used.

This is my current idea for the observable pattern on this one. Note
that the TnyDeviceEventType will be a "typedef enum" in C. I might
implement the attaching of an observer using GLib signals
(g_signal_add). I'm not yet sure about that. The notify would then have
to be implemented using the g_signal_emit stuff.

For future always pragmatize my UML class diagrams. When they get trans-
lated to GObject/C it might look quite different. I'll try to keep it as
recognisable as possible. The main purpose of a class diagram is, for
me, to recognise the patterns and see the big picture slash idea.

If you ever decide to make one (for example when illustrating your
ideas), I can handle whatever Dia, Umbrello, ArgoUML and Topcased
generate. Also try to keep the diagram focused on the feature you're
planning to implement. I'm less interested in one huge UML class diagram
that fully shows the complete design of all tinymail components. I
prefer many good and focused class diagrams.

I will try to produce as much as possible. That way the current design
will be double documented, I hope. I'm assuming a developer who'd like
to help tinymail development knows (or learns about) the basic-basic UML
notations (interfaces, associations, messages, classes, inheritance,
implement, etcetera). I'm fine with describing what your draw if its
still hard to explain your idea using only UML. I'd hate to draw your
idea just to know what you meant after you wrote eight pages of design
description.

And we should probably do a VoIP standup meeting and draw the idea
together. I'm very interested in collaboration tools that can help with
that. Perhaps simply a VNC desktop. I can probably arrange that on a
good connection.


ps. Please *do* let me know what you think and/or have suggestions.
Nokia people: you guys will have to implement the TnyNokia770Device type
for tinymail if you want to use libtinymail for the Maemo platform. GPE
people will have to implement the TnyPocketPCDevice type. And so on.


-- 
Philip Van Hoof, software developer at x-tend 
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
work: vanhoof at x-tend dot be 
http://www.pvanhoof.be - http://www.x-tend.be

Attachment: online_observer.png
Description: PNG image

Attachment: OnlineObserver.uml2di
Description: application/xml



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]