I want to create a class library for some standards. These standards are updated yearly (Not necessarily every year, may take 3-4 years also). I want to maintain older versions also. What is the best way to do it?
StandardName (namespace) --> Year(namespace) --> actual implementation of particular standards Class
problem here is, change in standard from one year to another will require copying all the class to new namespace also, although some of them may not be changed at all. Is there any efficient way ? Or am i missing someting?
I think a proper encapsulation here is the key.
Some parts of the standard are bound to keep unchanged between versions so that some part of your implementation should be more or less stable.
If you know in advances which part is most likely to keep unchanged then you can pay special attention to the encapsulation of that parts so that you max out reusability. On the other hands, for the parts that are more likely to be refined you should abstract as much as posible... specially if the spec is bound to be expanded (adding some functionallity but keeping the old intact).
Don't be afraid to refactor between versions... you are probably going to get it wrong the first time. Instead of starting over or copy pasting the old sections to the new implementation, refactor your design, improve it, change it. As versions goes by, you'll be able to get a better understanding of how your specs evolve.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With