Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: C++
Expertise: All
Jan 9, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Designing Legacy Code Wrapper Classes

In many systems, legacy C code is combined with newer C++ code. A common (yet wrong) practice is to wrap the C functions in a single C++ class and create a single instance thereof, which provides as its interface a series of operations mapped directly to the legacy functions. However, such a general wrapper class is not recommended. It allows indiscriminate access to a variety of unrelated operations. In addition, it isn't really an object-oriented solution; rather, such a class is merely a collection of operations. A better design approach is to divide the legacy functions into meaningful, self-contained units and wrap each unit by a dedicated class. For example, instead of wrapping a bunch of legacy networking functions in a large class, it is advisable to group these functions according to specific protocols.
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date