tags:

views:

214

answers:

2

I have a "thin" (SOAP) API that only knows how to set and get entities in the underlying system.

I am about to to create a "rich" API that encapsulates the "thin" API and implements the logic that is required for complex operations that entail getting and setting several entities in specific order.

Example: The rich API will be responsible for creating a new user account by creating a "Lead" entity that's linked to an "Account" entity via the thin API.

I'm stuck in a naming block so I turn to SO ;) What name would you give my rich API? "xxxRichAPI"? "xxxHelper"? "xxxService"?

+8  A: 

Isn't the point of an API that it hides it's implementation? As such, the fact that your API calls a thinner API is irrelevant. Name your API appropriately for what it does, regardless of how it does it.

cletus
I certainly agree that an API should hide its implementation. But I still need a name that describes the concept of a "rich" or "thick" facade to a "thin" or "primitive" API.It's like I have a barebones interface to a system and I want to build on top of it, outside that system.
urig
+3  A: 

At first glance, this sounds like the GoF Facade pattern to me. You might considering using the name "xxxFacade".

Sean Reilly
I don't think so. A Facade provides a single interface over multiple different interfaces.
Thomas Owens
I think that's what i was aiming for - A simplified front that hides intricate APIs behind it.
urig
From Wikipedia: "A facade is an object that provides a simplified interface to a larger body of code, such as a class library." I agree that a facade certainly could wrap multiple interfaces, but I don't think that it *has* to.
Sean Reilly