It's about what the class gives access to through inheritance. It has a three letter abbreviation but not API. I've seen this before but can't remember at the moment.

The term is usually used in the context of a framework where you are expected to extend classes from the framework. This would be closely related to the template pattern. However, any class designed for inheritance has this interface. It's the final classes that do not have one.

Put as an SAT question:

Accessible is to API as extendable is to _____

It doesn't seem to be Extension Point. This is the entire set of things that may be overridden though extension on a class. This is something even a simple POJO would have.

  • 2
    Is it related to the concept of "extension point"? – rwong Aug 1 '15 at 4:23
  • Despite what Google shows as its first hit, "extension point" has nothing to do with XML. It's a very generic term. It just means some thing that allows you to extend existing functionality. – Ixrec Aug 1 '15 at 11:46
  • @Ixrec fair enough, how's this? I admit "extension point" is new to me. trac.edgewall.org/wiki/TracDev/ComponentArchitecture makes me think an extention point is a particular overrideable method not the entire overrideable set of a class. – candied_orange Aug 1 '15 at 12:08
  • @CandiedOrange Yes, I would agree that it implies a single point and not the complete set of points. Personally I don't know of any acronym that would actually answer this question, just phrases like "the extension points" or "the overrideable methods" or (in some languages) "the protected interface". – Ixrec Aug 1 '15 at 12:10
  • Why do you think hooks and other customization points aren't API? Admittedly, the contract is two-sided instead of the far simpler one-sided one for normal API functions... and people have a tendency to forget documenting that additional part. – Deduplicator Aug 1 '15 at 13:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.