Yes, performance is an important reason why you don't always want to force complete modularity.
Xerces_J and C strike a balance -- they are fairly modular (although not maximally modular), and also very high performance (although not maximally performing). Modularity and performance were both primary goals of both Xerces-J and C. Validators, character converters, catalogs, error messages, the DOM, etc. are all separable. Mike Tom Palmer wrote: > > > you can set the implementation and then it will use that. Which I don't > think > > is done with all parsers. The only truely generic way to do is to program > to the > > dom interfaces and not to any implementation. > > > Some parsers aren't tied to a DOM. Some may be. I think it > is good to keep the parser separate from the DOM. > > Sure, I can stick to using interfaces, but why can't the parser > as well? > > Anyway, I think I've harped my point on enough messages to > let it be clear where I stand on this issue. My main point is that > each module should be entirely separate from each other > module. (There may be cases where for performance or other > reasons, this is too idealistic, but I think modularity of code > should always be among the primary goals of any design.) > > - Tom
