[Mono-list] *Calendar implementation
Wed, 20 Mar 2002 10:13:17 -0000
I'll preface by saying I'm a bit of a lightweight when it comes to architecture design, but I'll comment anyway.
Surely this is a question of the interface (is a loose sense) the platform exposes.
If one takes the approach of use the interface if there else, try another interface, do something else, you're going to surely be coding exceptions cases for every platform you port to.
Might the best case be to impliment a configuration repository layer under which configuration settings lie, but looks the same to Mono on every platform, and also has the task of reporting features unsupported?
This leaves a clearly defined unit to be implemented on a platform, and the minimum of concern above that layer... so on windows the registry sits under "ConfigReposit" and on Linux gconf or whatever sits under it... and OSX some else again.
If this is a good approach, then such a layer can have clearly defined means of setting up storage for settings and such that don't exist on a given platform.
*shrug* just a thought, seems to me retweaking every piece to accomodate a new platform would get painful fast, and would almost certainly proliferate bugs, whereas a single unit can have its interface tested on a given platform cleanly, and perhaps more imortantly because an implementation job that can be farmed out, rather than a maintainance job on existing code... one might argue maintaining what is known to work is a better case, and normally yes, until one considers that implementing ona new platform it may be best to let those familiar with the platform get on with a job in hand unfettered.... implement this interface, and information set, report back when you pass this test.
In short, don't wrap the registry directly, abstract the interface as a whole, and stick your datastore underneath.
From: Richard Hestilow [mailto:email@example.com]
Sent: 20 March 2002 01:43
Subject: Re: [Mono-list] *Calendar implementation
On Tue, 2002-03-19 at 17:52, Ulrich Kunitz wrote:
> The second approach isn't good, because we introduce a registry wrapper,
> just another class to understand and to maintain. I think we document
> the shortcoming and add the registry calls, when a registry exists. We
> should do some real architectural work here. I would even tend to say,
> that the registry is not one of Microsoft greatest achievements in
> software design. Let's try to do it a little better.
I imagine it might be possible to wrap the registry calls to use gconf
under unix/linux. Speaking as a GNOME developer, I'd like be able to
access my gconf settings via .NET.
Mono-list maillist - Monofirstname.lastname@example.org