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

13
Есть ли шаблон для более «естественного» способа добавления предметов в коллекции? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я думаю, что наиболее распространенным способом добавления чего-либо в...

13
Рекомендовать шаблон проектирования / подход к выявлению / терпению / восстановлению после системных ошибок, обработке исключений (например, в Java, C ++, Perl, PHP)

Можете ли вы порекомендовать шаблон проектирования / подход к выявлению / переносу / восстановлению после системных ошибок, обработке исключений (Java, C ++, Perl, PHP)? О некоторых ошибках нужно сообщать. Некоторые ошибки могут быть обработаны внутри (повторной попыткой или несущественными (могут...

13
Каков самый простой читаемый формат файла конфигурации? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Текущий файл конфигурации выглядит следующим образом: mainwindow.title =...

13
Какая процедура применяется при написании лексера на основе грамматики?

Читая ответ на вопрос « Разъяснение о грамматике, лексерах и парсерах» , в ответе говорилось, что: [...] грамматика BNF содержит все правила, необходимые для лексического анализа и анализа. Это показалось мне несколько странным, потому что до сих пор я всегда думал, что лексер вообще не основан на...

13
Как привлечь внимание программиста в определенных условиях?

Давайте начнем с примера. Допустим, у меня есть метод, exportкоторый сильно зависит от схемы БД. И под «сильно зависит» я имею в виду, что я знаю, что добавление нового столбца в определенную таблицу часто (очень часто) приводит к изменению соответствующего exportметода (обычно вы также должны...

13
Как определить, правильно ли реализован Design Pattern?

Я успешно могу масштабировать все мои старые приложения, которые не использовали документированные шаблоны проектирования. Какой бы это ни была схема, я не знаю. В значительной степени я чувствовал необходимость использовать только простые концепции ООП. Концепция Design Patterns сложна и трудна...

13
Существуют ли какие-либо конкретные рабочие процессы или шаблоны проектирования, которые обычно используются для создания больших приложений функционального программирования? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Я уже некоторое время изучаю Clojure, хотя я не...

13
Согласно закону Деметры, разрешено ли классу возвращать одного из его членов?

У меня три вопроса относительно закона Деметры. Помимо классов, которые были специально назначены для возврата объектов - таких как классы фабрики и компоновщика - нормально ли, чтобы метод возвращал объект, например, объект, удерживаемый одним из свойств класса, или будет нарушать закон Деметры...

13
Является ли использование юнит-тестов хорошей историей?

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

13
Принцип инверсии зависимости: Как определить «политику высокого уровня» и «детализацию низкого уровня» для других людей?

Я пытаюсь объяснить принцип инверсии зависимостей моим (в основном младшим) коллегам. Как мы можем определить, какая из них является «политикой высокого уровня», а какая «низкоуровневой» в программном обеспечении? Например, если наше программное обеспечение автоматизирует рабочий процесс нескольких...

13
Рельсы: Закон Путаницы Деметры

Я читаю книгу под названием Rails AntiPatterns, и они говорят об использовании делегирования, чтобы избежать нарушения закона Деметры. Вот их главный пример: Они считают, что вызывать что-то подобное в контроллере плохо (и я согласен) @street = @invoice.customer.address.street Их предлагаемое...

13
Почему отдельный класс CommandHandler с Handle () вместо обработки метода в самой Command

У меня есть часть шаблона CQRS, реализованного с использованием S # arp Architecture, например: public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand...

13
Должен ли я выставлять «вычисленное» значение как свойство или метод?

У меня есть класс C #, который представляет тип контента в системе управления веб-контентом. У нас есть поле, которое позволяет редактору веб-материалов вводить HTML-шаблон для отображения объекта. Он в основном использует синтаксис handlebars для подстановки значений свойств объекта в строку HTML:...

13
Опрос одного из аргументов в пользу внедрения зависимостей: почему сложно создать граф объектов?

Платформы внедрения зависимостей, такие как Google Guice, дают следующую мотивацию для их использования ( источник ): Чтобы построить объект, вы сначала строите его зависимости. Но для построения каждой зависимости вам нужны ее зависимости и так далее. Поэтому, когда вы строите объект, вам...

12
Избегайте использования метода инициализации

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

12
Как вы подходите к дизайну классов в ООП?

Когда я пытаюсь разработать OO-решение, я обычно использую моделирование CRC, в котором я перечисляю имена классов (существительные), что они делают (глаголы) и как они взаимодействуют с другими классами. Этот блог имеет следующее, что можно сказать об этом подходе существительное-глагол ...This...

12
Какова хорошая практика кода, когда создавать функцию / метод для небольших повторяющихся сегментов кода?

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

12
В чем практическая разница между стилями внедрения зависимостей?

Я новичок в внедрении зависимостей, и у меня есть несколько вопросов о том, какой стиль я должен использовать в своих приложениях. Я только что прочитал статью Мартин Фаулер « Инверсия контейнеров управления» и «Шаблон внедрения зависимостей », но не могу понять практической разницы между...

12
Принцип Открытого Закрытия (OCP) против Принципа Инверсии Зависимостей (DIP)

Я пытался понять разницу между Open Closed Principle (OCP) и Dependency Inversion Princible (DIP). Основываясь на исследованиях, которые я провел в Интернете, я пришел к выводу, что «DIP - это один из вариантов, с помощью которого мы можем достичь OCP». Я прав на это? Можете ли вы привести пример,...

12
Глобальный контекст запроса - анти-паттерн?

Я говорил сегодня с моим коллегой о веб-фреймворках Python и наших впечатлениях о них. Я сказал ему, что думаю, что у Flask глобальный запрос плохо пахнет и это анти-паттерн. В документах говорят о контексте запроса: Напротив, во время обработки запроса существует пара других правил: пока запрос...