Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6877453
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T04:36:09+00:00 2026-05-27T04:36:09+00:00

I have an application which we intend to makes use of an external library.

  • 0

I have an application which we intend to makes use of an external library. This external library is one of many that provides the same (or similar) functionality.

Take a zip library as an example, there are many libraries out there that does basically the same thing, extract and compress zip files.

However, each library will implement their public classes / interface slightly differently from one another, even if the internal compression algorithm is the same e.g

namespace AmazingZipLibrary
{
    public class Archive
    {
        public Zip Add()
        {
          //Create a zip file
        }
    }
}

namespace YetAnotherAmazingZipLibrary
{
    public class Zip
    {
        public object Compress()
        {
          //create a zip file
        }
    }
}

How can one make use of libraries interchangeably without breaking the main application each time we want to swap or use another library? I think the main reason for such requirements is for evaluation and testing purposes. But it’s also possible that a new bad ass zip library comes along that we want to adopt (hypothetically speaking).

What design patterns can help with this situation?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T04:36:09+00:00Added an answer on May 27, 2026 at 4:36 am

    Create your own interface with the required methods.

    Implement this interface for each library, wrapping the library functionality with your calls.

    interface ICompress
    {
      void Create();
    }
    
    public class AmazingCompressor : ICompress
    {
       public void Create()
       {
          // Call AmazingZipLibrary.Add
       }
    }
    
    public class YetAnotherAmazingCompressor : ICompress
    {
       public void Create()
       {
          // Call YetAnotherAmazingZipLibrary.Compress
       }
    }
    

    In your code, only refer to ICompress.

    This is known as the bridge pattern.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a card-game application which makes use of Single Table Inheritance. I have
I have an application which makes use of the default camera to take pictures
I have an Android application, which makes use of an AlarmManager to schedule events.
I have application which needs to use a dll (also written by me) which
I have an application which uses the microsoft kinect device. The thing is that
I have an application which uses code that produces various types of objects and
I have application, which makes event in alarm manager, and at specific time its
I have a windows svc, which makes a couple of wmi calls. This results
I have an application that I wrote which is the following package com.pack .
I have an application which receives a broadcast from the AlarmManager . Upon this,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.