Re: Moniker critique



> 2. The other question was that of "system wide flexible interfaces", that seems
> not to be very clear... I'll take some more examples:
> 
> You say some monikers:

Dude.  You are majorly confused.  Yes, you can build everything
manually as I explained in my previous mail (I really wished you had
read it and understood what I said instead of focusing on replying
point by point).

Yes, you can build everything using assembler.  Yes, you can.  The
fact that you can does not mean it is the best way to do it.

Compare:

	bonobo_get_object ("trashcan:", "Bonobo/Control");

vs:

> b) Ask to it if it supports the "Bonobo/Control" interface:
> 
	a = activate ("System::Trashcan");
	a->create_insteance ();
	a->query_interface ("Bonobo/Control");

Notice two things: in my first expample my code does not know anything
about the moniker.  It could have activated a Gnumeric spreadsheet, or
a range in a spreadsheet, or a trashcan, or a property editor.  I do
not care.  All the initialization and resolution steps are encoded in
the stringified representation of the moniker.

In your examples you need to know what you are talking to all the
time.

To exagerate things, I am going to take a poetic license:

	Monikers are equivalent to:
		system "cat file | grep name | sort -n";

	Your scheme is equivalnet to:
		a = open file;
		while (<A>){
			if (/name/){
				@all = (@all, $_);
			}
		}
		sort -n @all;
		foreach $i in (@all){
			print $i;
		}

So, yes, they both achieve the same effect, but I have to *code* the
knowledge inside my application when I really do not care about ti.

Anyways, I suggest:

	1. Try to implement your system with IORs.

	2. Try to get it to work on all the scenarios I presented.

Then come back ;-)

Miguel.
		




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