Posted By:
Stephen_McConnell
Posted On:
Tuesday, November 6, 2007 11:39 AM
There is a pattern called the Delegate pattern. What you do is wrap the third party's API's in a set of your own API's that deal with the functionality you need from the third party.
That way, if the third part API's change or archetecture changes, then the only classes you change are the way your API classes call the third party API's.
This is similar to the Data Access Object in accessing a database. With the DAO, If I change the database or use EJB's or Hibernate to access the database, all I have to do is change in one place.
Good for you for looking ahead at a potential problem. I've dealt with so many Project managers that say "OH WE'LL NEVER CHANGE OUR DATABASE, or OUR USE OF THIS THIRD PARTY APPLICATION." Then, a couple of months later, they are crying because the third party app went away or the Database changed...
Hope this helps.
Stephen McConnell