tag :: design pattern