Function Wrappers – The First Step toward Gaining OO Advantages

In large-scale projects different teams use API functions developed by another team or a third-party vendor. For example:

 int retrievePerson (int key, Person& recordToBefilled); // original version; used by all teams

A problem can arise when the interface of an API is modified by the implementer; all of its users have to track down every reference to it, and modify the code accordingly.

 int retrievePerson (const char * key, Person& recordToBefilled); // string key instead of int

To avoid such dependencies, you should wrap the API by a wrapper, rather than call it directly. A wrapper is a simple function that calls the third party’s API and returns its result. (Don’t worry about the overhead of an additional function call?most compilers will inline it anyway):

 int WrapRetrievePerson(int key, Person& recordToBefilled) {retrurn retrievePerson (int key, Person& recordToBefilled); // call the API } 

This is very similar to “getters” and “setters” in a C++ class. A wrapper provides a stable interface to an API that is vulnerable to modifications. When an API’s interface is changed, only the implementation of its corresponding wrapper has to be modified accordingly, without affecting the programs that call the wrapper:

 int WrapRetrievePerson(int key, Person& recordToBefilled) //wrapper interface remains intact{	//wrapper's implementation modified according to API's modificationchar strkey[100];itoa (key, strkey); //convert ant int to its corresponding  decimal stringreturn retrievePerson (strkey, Person& recordToBefilled); }
Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS