Шаблон проектирования - это пара решений проблем. то есть это готовое решение для распространенной проблемы в разработке программного обеспечения.
Но это не обязательно означает, что для того, чтобы сделать отличный дизайн, вы должны следовать некоторым шаблонам. В большинстве случаев проблема, которую мы пытаемся решить, является более конкретной ( конкретная ), чем то, что мы видим в шаблонах. Поэтому нам нужно адаптировать любой шаблон, который мы будем использовать.
С другой стороны, для определенной проблемы, которую мы пытаемся решить, может быть множество готовых решений. В такой ситуации нам, возможно, придется рассмотреть компромиссы каждого. (напр., производительность по сравнению с ремонтопригодностью, в зависимости от ситуации, нам нужно убедиться, чего мы действительно хотим в нашей системе) *
И последнее: это очень плохая практика - пытаться просто перетащить шаблон в дизайн, который мы делаем просто ради использования шаблона, не зная его реального использования. Такие ситуации - худшие всех времен. На самом деле из-за инженерии гораздо больше зла, чем из-за техники. Вы должны быть в состоянии идентифицировать это сладкое пятно , где вы можете наслаждаться товарами из разных миров ;)