The reality is, if you have an abstraction layer and one implementation of it, you dont need that abstraction layer
People will complain, “oh but think about the refactor if we have to change vendors/etc” but i have yet to ever switch vendors/api/etc and not had to completely rethink the abstraction layer
Just get rid of it, it will be easier, less code, more precise, and in the long run you’ll cargo cult less
Just write the code for the things you have, and if things change, yup then things will change - to anticipate future changes and upfront the work for the unknown only to then have to make more changes once those real changes eventually arrive and dont match your old predictions is just more work and more confusion
Destroy abstractions
The reality is, if you have an abstraction layer and one implementation of it, you dont need that abstraction layer
People will complain, “oh but think about the refactor if we have to change vendors/etc” but i have yet to ever switch vendors/api/etc and not had to completely rethink the abstraction layer
Just get rid of it, it will be easier, less code, more precise, and in the long run you’ll cargo cult less
Just write the code for the things you have, and if things change, yup then things will change - to anticipate future changes and upfront the work for the unknown only to then have to make more changes once those real changes eventually arrive and dont match your old predictions is just more work and more confusion