Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны проектирования, работе с которыми посвящена книга "Паттерны проектирования".