Há um tempo atrás eu criei um artigo sobre o que é e como utilizar o decorator pattern. Ele fazia parte de uma série de posts sobre design patterns que iniciei.
Dando continuidade a esta série, hoje vou mostrar um exemplo mais real do uso dele e que talvez explique melhor a sua utilidade. O post antigo mantém-se, porém este vai ilustrar um pouco melhor.
Bom, para relemebrar: o decorator pattern tem como intenção mudar ou adicionar comportamentos de um determinado objeto sem precisar modificar sua classe.
O exemplo utilizado aqui foi retirado "do mundo real" e adaptado para o post. Acontece que um usuário poderia marcar a ordem e quais compressões um determinado arquivo deveria sofrer. Entre as possibilidades, estavam o Gzip e o Bzip.
Existem maneiras e maneiras de se resolver este problema. A escolhida foi utilizando o Decorator para retornar o conteúdo do arquivo comprimido e seu nome final, já com as extensões .gz e .bz2 definidas.
0sem comentários ainda