Вопросы с тегом «design-patterns»

Шаблон проектирования - это общее многократно используемое решение часто встречающейся проблемы в разработке программного обеспечения. Используйте этот тег для вопросов, когда у вас возникают проблемы с реализацией шаблонов проектирования. Пожалуйста, не используйте этот тег для вопросов о сопоставлении текстового шаблона. При использовании этого тега в сложных вопросах реализации - пометьте язык кода, на котором написана реализация.

17
Фабричный шаблон в C #: как гарантировать, что экземпляр объекта может быть создан только фабричным классом?
Недавно я подумал о защите части моего кода. Мне любопытно, как можно убедиться, что объект никогда не может быть создан напрямую, а только с помощью некоторого метода фабричного класса. Допустим, у меня есть класс «бизнес-объект», и я хочу убедиться, что любой экземпляр этого класса будет иметь допустимое внутреннее состояние. Для …

7
Зачем использовать синглтон вместо статических методов?
Я никогда не находил хороших ответов на эти простые вопросы о вспомогательных / служебных классах: Зачем мне создавать синглтон (без сохранения состояния) вместо использования статических методов? Зачем нужен экземпляр объекта, если у объекта нет состояния?

4
Принципы проектирования, передовой опыт и шаблоны проектирования для C (или процедурного программирования в целом)? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Существуют ли какие-либо известные принципы проектирования, …

16
Есть ли жизнеспособные альтернативы шаблону GOF Singleton?
Давайте посмотрим правде в глаза. Шаблон Singleton - очень противоречивая тема с ордами программистов по обе стороны забора. Есть те, кто считает, что синглтон - это не более чем прославленная глобальная переменная, а другие придерживаются шаблона и постоянно его используют. Однако я не хочу, чтобы спор синглтонов лежал в основе …

5
Если синглтоны - это плохо, то почему сервисный контейнер хорош?
Все мы знаем, насколько плохи синглтоны , потому что они скрывают зависимости и по другим причинам . Но во фреймворке может быть много объектов, которые нужно создать только один раз и вызывать из любого места (регистратор, база данных и т. Д.). Чтобы решить эту проблему, мне посоветовали использовать так называемый …

3
Толстые модели и тощие контроллеры звучат как создание моделей Бога [закрыто]
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, обратитесь за помощью …

3
Модель-представление-презентатор в WinForms
Я впервые пытаюсь реализовать метод MVP, используя WinForms. Я пытаюсь понять функцию каждого слоя. В моей программе у меня есть кнопка графического интерфейса, которая при нажатии открывает окно openfiledialog. Таким образом, используя MVP, графический интерфейс обрабатывает событие нажатия кнопки, а затем вызывает presenter.openfile (); Должен ли он в presenter.openfile () …

9
Какие шаблоны проектирования используются в Spring framework? [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 7 лет назад . Уточните этот вопрос Какие шаблоны проектирования используются в Spring framework?

16
tar: добавить все файлы и каталоги в текущий каталог, ВКЛЮЧАЯ .svn и т. д.
Я пытаюсь создать каталог tar.gz и использовать tar -czf workspace.tar.gz * Полученный tar включает .svnкаталоги в подкаталогах, но НЕ в текущем каталоге (поскольку он *расширяется только до `` видимых '' файлов, прежде чем он будет передан в tar Я попытался tar -czf workspace.tar.gz .вместо этого, но тогда я получаю сообщение …

9
Что лучше - вернуть ImmutableMap или карту?
Допустим, я пишу метод, который должен возвращать Map . Например: public Map<String, Integer> foo() { return new HashMap<String, Integer>(); } Поразмыслив над этим некоторое время, я решил, что нет причин изменять эту карту после ее создания. Таким образом, я хотел бы вернуть ImmutableMap . public Map<String, Integer> foo() { return …

7
Внедрение зависимостей и шаблон проектирования синглтонов
Как определить, когда использовать внедрение зависимостей или одноэлементный шаблон. Я читал на многих веб-сайтах, где говорится: «Используйте инъекцию зависимостей по шаблону singleton». Но я не уверен, что полностью согласен с ними. Для моих малых или средних проектов я определенно вижу простое использование одноэлементного шаблона. Например Регистратор. Я мог бы использовать …

2
Простое объяснение «схемы реактора» с ее приложениями [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 6 лет назад . Уточните этот вопрос Схема реактора объяснена в Википедии , и это слишком …

14
Абстрактный класс против интерфейса в Java
Мне задали вопрос, я хотел, чтобы мой ответ был рассмотрен здесь. В : В каком сценарии более целесообразно расширить абстрактный класс, а не реализовывать интерфейс (ы)? О: Если мы используем шаблонный метод проектирования. Я прав ? Прошу прощения, если я не смог четко сформулировать вопрос. Я знаю основную разницу между …

5
В чем смысл метода accept () в шаблоне посетителя?
Сейчас много говорят об отделении алгоритмов от классов. Но одна вещь остается в стороне и не объясняется. Они используют посетителя вот так abstract class Expr { public <T> T accept(Visitor<T> visitor) {visitor.visit(this);} } class ExprVisitor extends Visitor{ public Integer visit(Num num) { return num.value; } public Integer visit(Sum sum) { …

4
Где «уровень бизнес-логики» вписывается в приложение MVC?
Во-первых, до того, как кто-то закричит, что я обманываю, мне было трудно выразить это простым заголовком. Другой заголовок мог бы быть «В чем разница между моделью предметной области и моделью MVC?» или "Что такое модель?" Концептуально я понимаю, что Модель - это данные, используемые представлениями и контроллером. Помимо этого, существует …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.