On Fri, Jan 24, 2014 at 8:55 PM, Daniel Kinzler <dan...@brightbyte.de>wrote:

> Am 24.01.2014 14:44, schrieb Brad Jorsch (Anomie):
> > It looks to me like the existing patch *already is* getting too far into
> > the Javaification, with it's proliferation of classes with single methods
> > that need to be created or passed around.
>
> There is definitely room for discussion there. Should we have separate
> interfaces for parsing and formatting, or should both be covered by the
> same
> interface? Should we have a Linker interface for generating all kinds of
> links,
> or separate interfaces (and/or implementations) for different kinds of
> links?
>
> I don't have strong feelings about those, I'm happy to discuss the
> different
> options. I'm not sure about the right place for that discussion though -
> the
> patch? The RFC? This list?
>
>
I vote mailing list.  Maybe it'll be livelier.

Personally, as I said in previous mails, I like the idea of pulling things
out of the Title class.

I'm going to pose questions and answer them in the order that they come to
me.

* Should linking, parsing, and formatting live outside the Title class?
Yes for a bunch of reasons.  At a minimum the Title class is just too large
to hold in your head properly.  Linking, parsing, and formatting aren't
really the worst offenders but they are reasonably easy to start with.  I
would, though, like to keep some canonical formatting in the new
TitleValue.  Just a useful __toString that doesn't do anything other than
print the contents in a form easy to read.

* Should linking, parsing, and formatting all live together in one class
outside the Title class?
I've seen parsing and formatting live together before just fine as they
really are the inverse of one another.  If they are both massively complex
then they probably ought not to live together.  Linking feels like a thing
that should consume the thing that does formatting.  I think putting them
together will start to mix metaphors too much.

* Should we have a formatter (or linker or parser) for wikitext and another
for html and others as we find new output formats?
I'm inclined against this both because it requires tons of tiny classes
that can make tracing through the code more difficult and because it
implies that each implementation is substitutable for the other at any
point when that isn't the case.  Replacing the html formatter used in the
linker with the wikitext formatter would produce unusable output.


I really think that the patch should start modifying the Title object to
use the the functionality that it is removing from it.  I'm not sure we're
ready to start deprecating methods in this patch though.


In a parallel to getting the consensus to merge a start on TitleValue we
need to be talking about what kind of inversion of control we're willing to
have.  You can't step too far down the services path without some kind of
strategy to prevent one service from having to know what its dependencies
dependencies are.

Nik
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to