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

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

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

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

2
Почему конструктор должен быть внутренним классом, а не в своем собственном файле классов?
Многие Builder Patternпримеры делают Builderвнутренний класс объекта, который он создает. Это имеет некоторый смысл, поскольку указывает на то, что Builderстроит. Однако в статически типизированном языке мы знаем, что Builderстроит. С другой стороны, если Builderэто внутренний класс, вы должны знать, какой класс Builderстроит, не заглядывая внутрь Builder. Кроме того, наличие конструктора …

5
Почему не стало обычным делом использовать сеттеры в конструкторе?
Средства доступа и модификаторы (также известные как сеттеры и геттеры) полезны по трем основным причинам: Они ограничивают доступ к переменным. Например, переменная может быть доступна, но не может быть изменена. Они проверяют параметры. Они могут вызвать некоторые побочные эффекты. Университеты, онлайн-курсы, учебные пособия, статьи в блогах и примеры кода в …

6
Можно ли классу использовать собственный публичный метод?
Задний план В настоящее время у меня есть ситуация, когда у меня есть объект, который передается и принимается устройством. Это сообщение имеет несколько конструкций, а именно: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionМетод необходимо вызвать ReverseDataметод всякий раз , когда он вызывается. Тем не менее, бывают случаи, когда мне нужно …

4
Законная «настоящая работа» в конструкторе?
Я работаю над дизайном, но продолжаю преодолевать препятствия. У меня есть определенный класс (ModelDef), который по сути является владельцем сложного дерева узлов, созданного путем анализа XML-схемы (например, DOM). Я хочу следовать хорошим принципам проектирования (SOLID) и гарантировать, что полученная система легко тестируется. У меня есть все намерения использовать DI для …

3
Должен ли сервисный уровень перехватывать все исключения dao и переносить их в исключения сервиса?
У меня есть три слоя Spring веб-приложение: дао, сервис и контроллеры. Контроллер никогда не вызывает напрямую dao, он делает это через уровень сервиса. Прямо сейчас, в большинстве случаев, если есть исключение dao (время выполнения), которое не обрабатывается, оно будет перехвачено JSP, показывающим сообщение об ошибке конечному пользователю. Должен ли сервисный …

2
Шаблон проектирования для проверки данных
Какой будет лучший шаблон проектирования для этой проблемы: У меня есть Объект А. Объект А может быть зарегистрирован или удален из базы данных в зависимости от запроса пользователя. Проверка данных выполняется перед регистрацией или удалением объекта. Существует ряд правил, которые необходимо проверить перед регистрацией объекта, и другой набор правил для …

5
успех: / сбой: блоки против завершения: блок
Я вижу два общих шаблона для блоков в Objective-C. Один из них - пара успехов: / fail: блоки, другой - одно завершение: блок. Например, допустим, у меня есть задача, которая будет возвращать объект асинхронно, и эта задача может завершиться ошибкой. Первый шаблон -taskWithSuccess:(void (^)(id object))success failure:(void (^)(NSError *error))failure. Второй шаблон …

11
Выберите дизайн кода или лень в мире банка
Я работал два года в отличном инвестиционном банке. Я сделал несколько технических проектов, стремясь создать максимально оптимизированный код, соблюдая адаптированные шаблоны хорошего дизайна, принцип SOLID, закон деметрии и избегая всевозможных повторяющихся кодов ... Когда поставка в производство => ноль ошибок, все произошло так, как ожидалось. Но большинство разработчиков пришли ко …

8
Как реализовать принцип СУХОГО при использовании ключевого слова using?
Рассмотрим эти методы: public List<Employee> GetAllEmployees() { using (Entities entities = new Entities()) { return entities.Employees.ToList(); } } public List<Job> GetAllJobs() { using (Entities entities = new Entities()) { return entities.Jobs.ToList(); } } public List<Task> GetAllTasksOfTheJob(Job job) { using (Entities entities = new Entities()) { return entities.Tasks.Where(t => t.JobId == …

5
Как другой популярный язык мог бы избежать использования фабричного шаблона при управлении такой же сложностью, как в Java / Java EE?
Фабричный шаблон (или, по крайней мере, использование FactoryFactory..) является предметом многих шуток, как здесь . Помимо наличия подробных и «креативных» имен, таких как RequestProcessorFactoryFactory.RequestProcessorFactory , есть ли что-то принципиально неправильное в фабричном шаблоне, если вам нужно программировать на Java / C ++ и есть сценарий использования для Abstract_factory_pattern ? Как …

8
Как я могу продвигать использование шаблона Builder в моей команде?
Наша кодовая база устарела, и новые программисты, как и я, быстро учатся делать это так, как это делается для единообразия. Думая, что мы должны с чего-то начать, я взял на себя реорганизацию класса держателей данных как такового: Удалил методы установки и сделал все поля final(я беру " finalхорошо" аксиоматически). Как …

6
Является ли слабое соединение без вариантов использования анти-паттерном?
Слабое связывание для некоторых разработчиков является святым Граалем хорошо спроектированного программного обеспечения. Это, конечно, хорошо, когда он делает код более гибким перед лицом изменений, которые могут произойти в обозримом будущем, или избегает дублирования кода. С другой стороны, усилия по слабому объединению компонентов увеличивают степень косвенности в программе, увеличивая ее сложность, …

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

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