User "Brion VIBBER" posted a comment on MediaWiki.r90901.

Full URL: http://www.mediawiki.org/wiki/Special:Code/MediaWiki/90901#c18827
Commit summary:

Follow-up r89408, r86872: restore IContextSource and ContextSource, to be more 
carefully reimplemented.

Comment:

Generally you can think of interfaces as abstract or incomplete classes (and 
that's what we do rather than explicit separate interfaces, though we do have 
some).

Our current convention is to simply use clear regular names for base 
interfaces, same as for both concrete and abstract base classes:

* DatabaseType
* Field
* DBMasterPos
* HistoryBlob
* LoadMonitor
* LCStore
* Pager
* Preprocessor
* PPFrame
* PPNode

Concrete implementation classes that implement one in some specific way should 
generally then have a nice clear name that prefixes or suffixes the base 
interface/class's name, like:
* HistoryBlob: ConcatenatedGzipHistoryBlob, DiffHistoryBlob
* LoadMonitor: LoadMonitor_Null, LoadMonitor_MySQL
* Preprocessor: Preprocessor_Hash, Preprocessor_DOM



_______________________________________________
MediaWiki-CodeReview mailing list
mediawiki-coderev...@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-codereview

Reply via email to