Чем отличаются объектно-ориентированные шаблоны проектирования и принципы? Это разные вещи? Насколько я понял, они оба пытаются достичь какой-то общей цели (например, гибкость). Так могу ли я сказать, что паттерн - это принцип, и наоборот?
Принцип проектирования = SOLID (т.е. принцип инверсии зависимости)
Шаблон проектирования = Gof (т.е. абстрактный шаблон фабрики)
источник
Эти понятия не одинаковы:
* Принцип разработки: * Принципы разработки программного обеспечения представляют собой набор руководящих принципов, которые помогают нам избежать плохого дизайна. как: принцип Open Close
* Шаблон проектирования: * Шаблон проектирования - это общее решение для повторного использования часто встречающейся проблемы в данном контексте при разработке программного обеспечения. Как: Синглтон
источник
Шаблоны относятся к принципам, а реализации - к шаблонам.
Принципом может быть «косвенность», которая может быть реализована с помощью «фабричного» паттерна, который реализуется как класс с фабричными методами в конце.
источник
Ну, Принципы - это правила, а шаблоны - их конкретные примеры.
источник
Шаблоны - это вещи более высокого уровня, чем принципы. Шаблоны решают конкретные проблемы. Принципы могут применяться где угодно, независимо от контекста. На самом деле шаблоны, основанные на принципах (SRP, DRY и т. Д.)
Е.Г. Давайте посмотрим на шаблон стратегии. Он определяет семейство алгоритмов, инкапсулирует каждый и делает их взаимозаменяемыми. Итак, у вас есть концепция алгоритма высокого уровня. С государственной моделью у вас есть концепция государства на высоком уровне. С принципами у вас нет концепций высокого уровня. Принципы - это строительные блоки, которые используются скороговорками для достижения цели. Когда вы реализуете шаблон стратегии, вы используете SOLID:
источник
Шаблоны, где изначально документированы для архитектуры. В архитектуре применяются к вещам, начиная от размещения двери в комнате до планировки деревни.
«Банда четырех» применила эту идею к объектно-ориентированному программированию. Может быть более одного шаблона, который можно использовать для решения проблемы, но каждый шаблон будет иметь конкретную реализацию. Шаблоны существуют в других подходах к программированию, но я не знаю ни одной подходящей книги. Как уже упоминалось, Шаблоны охватывают конкретные реализации. Использование шаблона, когда он не применяется, часто рассматривается как анти-шаблон.
Принципы не охватывают реализацию, хотя могут быть стандартные подходы к реализации. Принципы больше касаются общих вопросов, а не конкретных проблем. Для Inversion of Control мне известны как минимум три подхода к реализации. Что касается СУХОГО (не повторяйте себя), я не знаю ни одного конкретного подхода к реализации, хотя я использую несколько.
Рассмотреть возможность
источник
Принцип дизайна ОО
Принцип ОО - это набор руководящих принципов, обеспечивающих концепцию ООП. Основываясь на концепции ООП, это определяет пути лучшего дизайна, лучшего дизайна. Основной принцип дизайна ОО - ТВЕРДЫЙ.
Шаблон проектирования обеспечивает общее решение проблемы проектирования. Обратите внимание, что «шаблон дизайна» может быть применен и к объектному слову в полдень Таким образом, шаблоны проектирования ООП (OODP) - это те, которые обеспечивают общее решение принципа ОО на основе объектно-ориентированного проектирования. Шаблоны проектирования открыты, а не изобретены. Существует несколько способов определения OODP, и наиболее известным из них является BSC [Behavioral Structural Creational].
Ниже приведена ссылка для подробного объяснения. http://techythought.wordpress.com/2013/01/21/design-principle-vs-ds-design-pattern-describing-oop-elements/
источник