Я успешно могу масштабировать все мои старые приложения, которые не использовали документированные шаблоны проектирования. Какой бы это ни была схема, я не знаю. В значительной степени я чувствовал необходимость использовать только простые концепции ООП.
Концепция Design Patterns сложна и трудна для понимания. Когда реализовано, как определить, является ли реализация правильной, и приложение обладает реальной слабой связью?
Ответы:
Для краткости ответа я бы сказал, что если в вашем коде видны следующие характеристики, вы можете быть уверены, что шаблоны существуют, даже если вы не предприняли преднамеренных усилий (что не является проблемой).
Желаемые характеристики:
Если вам все еще интересно идентифицировать и пометить свой код реальными именами паттернов, я бы порекомендовал выполнить следующие действия, чтобы добиться успеха.
Это должно дать вам справедливую идею.
источник
Вы упоминаете как шаблоны проектирования и связи. Это отдельные понятия, поэтому я буду разбираться с ними отдельно. Единственная реальная связь заключается в том, что шаблоны проектирования, как правило, способствуют слабой связи (так как это главный аспект хорошего дизайна).
Шаблоны проектирования
Концепция шаблонов проектирования на самом деле довольно проста: это всего лишь набор шаблонов для решения различных распространенных проблем. Есть две основные причины их популярности:
Откуда вы знаете, что вы реализовали это правильно? Это сложно. Для большинства паттернов это просто - вы либо ухитрились, либо нет. Некоторые шаблоны менее четко определены, чем другие - например, модель-представление-контроллер . Подобные шаблоны лучше использовать в качестве общих указаний. Специфика того, как вы реализуете его, менее важна, чем понимание причин, по которым шаблон существует, и того, для чего он предназначен.
Шаблоны проектирования не «единственно верный путь». Часто вам нужно либо адаптировать их для ваших конкретных целей, либо иногда просто не будет шаблонов, которые соответствуют требованиям. Форсировать шаблон дизайна там, где он не подходит, - плохая идея; это похоже на использование действительно хорошего молотка, когда на самом деле вам нужна отвертка.
Связь
Это действительно важная идея в информатике. Поскольку требования к большинству программных проектов со временем меняются (иногда значительно), важно, чтобы дизайн мог справиться с изменениями. Сцепление - это мера того, «как трудно было бы заменить этот компонент на другой?» «Компонентом» может быть метод, класс, пакет, библиотека и т. Д.
В этой статье Википедии перечислены различные типы соединений .
источник
Ответ на самом деле цель, которую вы хотите написать шаблоны проектирования с самого начала. Почему вы хотите гибкость для?
Это изменение; требования меняются. Попробуйте изменить что-то в своих требованиях, что отражается на изменении кода, и посмотрите, насколько легко / сложно это сделать.
источник
Использование шаблонов проектирования является профилактическим действием. Вы используете дизайн паттернов, чтобы облегчить свою работу при последующем масштабировании приложения. Конечно, чтобы облегчить вашу работу позже, вы должны сделать немного больше работы сейчас. поэтому реальный вопрос заключается в том, сколько изменений вы можете ожидать в будущем и что это за изменение. Если вам не нужна масштабируемость и гибкость, вы можете отказаться от шаблонов проектирования.
Шаблоны проектирования сами по себе являются реализацией принципов объектно-ориентированного проектирования. Пока вы будете следовать этим принципам, ваши приложения будут гибкими и масштабируемыми; даже если у вас нет реального шаблона дизайна. Как отметил выше Йоахим Зауэр, это общие решения общих проблем.
источник