With Python, the client which requires these interfaces, does not even need to change their code! This is easy if you just keep the old attributes. But this can lead to a maintenance nightmare. A better alternative might be to define a __getattr__() method that groups deprecated attributes. For instance,
class Blog:
def __init__(self):
self.new1='New1'
self.new2='New2'
self.old1='Old1'
self.old2='Old2'
self._attrmap=['old1':self.new1,\
'old2':self.new2]
def __getattr__(self, name):
return self._attrmap[name]
This gives us a _attrmap dictionary which we can then use to easily manage deprecated attributes.
No comments :
Post a Comment