В чем разница между шаблонами проектирования GOF и GRASP - PullRequest
6 голосов
/ 24 ноября 2010

Меня действительно смущает разница между шаблонами GOF и GRASP? даже оба способствуют улучшению объектно-ориентированных практик

Ответы [ 2 ]

11 голосов
/ 24 ноября 2010

GOF - это шаблоны, то есть проверенные конструктивные решения для повторяющихся проблем. GRASP являются принципами и не привязаны к какой-либо конкретной проблемной области, следовательно, справедливы в любом сценарии

7 голосов
/ 30 декабря 2017

Краткий ответ :
GoF упоминаются как Шаблоны проектирования . И GRASP являются Принципами проектирования . Принципы проектирования настолько абстрактны, чем Шаблоны проектирования.

Длинный ответ :
Основной целью Software Engineering является разработка правильного программного обеспечения. SDLC представляет шаги разработки программного обеспечения на верхнем уровне. Разработка программного обеспечения является одним из шагов SLDC. И Объектно-ориентированный дизайн программного обеспечения является популярным подходом к разработке программного обеспечения.

Для выполнения объектно-ориентированного проектирования программного обеспечения существует множество видов ресурсов (в книгах, учебных пособиях и документах) с разными названиями, таких как: руководящие принципы, принципы, эвристика, шаблоны, стили и т. Д.

Различия между этими именами Абстракция из них. Верхний уровень - это основные принципы, а другие уровни - это детали, которые помогают достичь этих основных принципов.

Верхний уровень

На верхнем уровне представлены учебники Основные принципы . (на основе объектно-ориентированного анализа и проектирования с приложениями, Грэди Буч и др., 1991)
Объектно-ориентированные основные принципы

  • Абстракция
  • Инкапсуляция (скрытие информации)
  • Иерархия (Наследование, Агрегация)
  • Модульность (высокая когезия и слабая связь)

Все последующие принципы и закономерности связаны с этими основными принципами и стараются их поддерживать и совершенствовать.

Второй уровень

На втором уровне ресурса находятся Принципы , которые пытаются поддержать и улучшить Основные принципы объектной ориентации.

  1. SOLID Priciples
  2. GRASP Принципы
  3. Закон Деметры-LoD
  4. и т. Д. (Другие однозначные принципы, такие как LoD)

Третий уровень

Этот уровень ресурсов называется Design Patters . Gof (Gang of Four) выпустили первую книгу о шаблонах проектирования. Существует 23 шаблона проектирования, которые поддерживают основные принципы и другие принципы объектно-ориентированного проектирования.

После GoF было написано много книг об использовании шаблонов проектирования на конкретном языке программирования и в определенных средах (например, шаблоны проектирования J2EE, шаблоны проектирования JQuery и т. Д.)

Шаблоны проектирования более детальны и так близки к языку программирования. Однако Основные принципы (на верхнем уровне) и Принципы (на втором уровне) настолько абстрактны.

Четвертый уровень

На этом уровне ресурсы называются: Эвристика .

Ресурсы этого уровня настолько подробны и специфичны, чем другие группы.

Лучший ресурс - Эвристика объектно-ориентированного проектирования (72 Эвристика), Книга Артура Дж. Риэля, 1996

Пятый уровень

На последнем уровне есть Руководство .

Все Сделай это , Не делай этого , Избегай , ... руководящие принципы в книгах можно собрать в этой группе.

...