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 6023719
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T04:02:49+00:00 2026-05-23T04:02:49+00:00

It is often recommended to program to an interface, not an implementation. It is

  • 0

It is often recommended to “program to an interface, not an implementation”. It is useful to promote separation of concerns, and helps with unit testing. However, I was thinking about API programming.

Let’s say I wrote an API and that API used a lot of “programming to interfaces”. Let’s also say that the API was insanely popular and used by many external clients. If one of the interfaces in the API had to change, that would require apps using the API to be recompiled.

My question is, how is such an issue avoided (or the impact of such changes reduced), or is it unavoidable? I am not an API programer and would like to know the best practice here. It seems to me that changing an interface that has existed for a long time and is widely used is a bad idea.

  • 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-23T04:02:50+00:00Added an answer on May 23, 2026 at 4:02 am

    Published interfaces should never change. In the case that you have to augment functionality, just add a new interface.

    To quote from MSDN:

    When you create an interface, you are
    creating a definition that can never
    change after the interface definition
    has been released. This interface
    invariance is an important principle
    of component design, because it
    protects existing systems that have
    been written to use the interface.

    When an interface is clearly in need
    of enhancement, a new interface should
    be created. This interface might be
    named by appending a “2” onto the
    original interface name, to show its
    relationship to the existing
    interface.

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

Sidebar

Related Questions

Often people say that it's not recommended to use recursive functions in python (recursion
So why exactly is it that it's always recommended to use const as often
Often, I find myself wanting to write a unit test for a portion of
Ok, I know that serving media files through Django is a not recommended .
I have often used, and seen recommended, dom-access structures like this for adding content
Often while editing config files, I'll open one with vi and then when I
Often I find myself interacting with files in some way but after writing the
Often we need to add a non-nullable column to a table, and it is
Often, I found OutOfMemoryException on IBM Websphere Application Server. I think this exception occur
Often time I need to add a control to a dialog after the dialog

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.