G
Guest
Encapsulating 3rd party controls to avoid backword incompatiblities
Hi all,
Environment : VB6\ VS2003\ VS2005, VB.NEt in Winforms, 3rd party component
is a GRID from Sheridan & Devexpress and is used extensively for data display
and manupyulation on all the 100 each forms in the applications.
We have developed two inhouse enterprise level application each taking
around 2-3 years of development time and we used 3rd party controls like
Grids and Dropdowns for enhanced UI funationality. but the problem is that
after every 6 months or so these 3rd party control vendors come out with new
version which might most of the time be breaknig the compatiblity with the
order version. On the first application that we have developed back in 1999
to 2002, i was using this version from sheridan ( which is now infragistics)
and we never upgraded to version till this date becuase the new version was
not backward compatible, and now those due to these controls the application
does not work on some operating systems and upgrading the application to the
vesion would be an almost total overwrite of the UI because the control's
menthods and properties are so tighly integrated with the code.
And same in the case with the new application that we started developing in
2002 till 2004 end, upgrading to the new vesion of these 3rd party components
is like total overwrite.
so now for furthur development i am thinknig that i might want to
encapsulate\ inherit\ create another layer over these controls and use that
object's methods & properties so that if the 3rd party component version
changes i will just have to modify the code in my object which would reflect
all the places it is being used and this way i can very easily upgrade my
version of the 3rd party component. but i think that this might require quite
smoe work since these component have a lot of methods and properties and not
even talking about events since i dont know how i can encapsulate them.
Also another reason might be even if i am not using this controls for lets
say an internet version of the same desktop application then i might jsut
have to change the internal working of this object to encapsulate this new
controls and no other code might change.
i am pretty sure this problem has been encountred by a lot of guys out
their, please suggest, point me to resources, code samples, ideas and what
ever you think.
thanks
sAMEER
Hi all,
Environment : VB6\ VS2003\ VS2005, VB.NEt in Winforms, 3rd party component
is a GRID from Sheridan & Devexpress and is used extensively for data display
and manupyulation on all the 100 each forms in the applications.
We have developed two inhouse enterprise level application each taking
around 2-3 years of development time and we used 3rd party controls like
Grids and Dropdowns for enhanced UI funationality. but the problem is that
after every 6 months or so these 3rd party control vendors come out with new
version which might most of the time be breaknig the compatiblity with the
order version. On the first application that we have developed back in 1999
to 2002, i was using this version from sheridan ( which is now infragistics)
and we never upgraded to version till this date becuase the new version was
not backward compatible, and now those due to these controls the application
does not work on some operating systems and upgrading the application to the
vesion would be an almost total overwrite of the UI because the control's
menthods and properties are so tighly integrated with the code.
And same in the case with the new application that we started developing in
2002 till 2004 end, upgrading to the new vesion of these 3rd party components
is like total overwrite.
so now for furthur development i am thinknig that i might want to
encapsulate\ inherit\ create another layer over these controls and use that
object's methods & properties so that if the 3rd party component version
changes i will just have to modify the code in my object which would reflect
all the places it is being used and this way i can very easily upgrade my
version of the 3rd party component. but i think that this might require quite
smoe work since these component have a lot of methods and properties and not
even talking about events since i dont know how i can encapsulate them.
Also another reason might be even if i am not using this controls for lets
say an internet version of the same desktop application then i might jsut
have to change the internal working of this object to encapsulate this new
controls and no other code might change.
i am pretty sure this problem has been encountred by a lot of guys out
their, please suggest, point me to resources, code samples, ideas and what
ever you think.
thanks
sAMEER