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

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

1
Когда клей или класс управления делают слишком много?
Я склонен к созданию централизованных классов, которые управляют другими классами в моих проектах. Он не хранит все сам, но большинство запросов данных сначала идут к «менеджеру». Глядя на ответ на этот вопрос, я заметил термин «Объект Бога». Википедия перечисляет это как антипаттерн, понятно. Где проходит граница между допустимым классом склеивания …

4
Рефакторинг в доменном дизайне [закрыто]
Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 6 лет назад . Я только начал работать над проектом, и мы используем управляемый доменом проект (как определил Эрик …

2
Как функциональное программирование справляется с ситуацией, когда на один и тот же объект ссылаются из разных мест?
Я читаю и слышу, что люди (также на этом сайте) регулярно хвалят парадигму функционального программирования, подчеркивая, как хорошо иметь все неизменное. Примечательно, что люди предлагают этот подход даже в традиционно обязательных ОО-языках, таких как C #, Java или C ++, а не только в чисто функциональных языках, таких как Haskell, …

4
Скрытие / отключение функций для некоторых пользователей
Допустим, у меня есть бесплатная и платная версия приложения. Платная версия - расширенный вариант бесплатной версии, касающийся функций, доступных пользователям. Это означает, что платная версия будет иметь все функции бесплатного приложения плюс дополнительные. Есть ли шаблон для переключения доступности функции на основе флага, который загружается при запуске (например, бесплатно / …

3
Как провести рефакторинг приложения с несколькими вариантами переключения?
У меня есть приложение, которое принимает целое число в качестве ввода и на основе ввода вызывает статические методы различных классов. Каждый раз, когда добавляется новый номер, нам нужно добавить еще один случай и вызвать другой статический метод другого класса. Теперь в коммутаторе 50 дел, и каждый раз, когда мне нужно …

3
Абстрактное свойство в базовом классе, чтобы заставить программиста определить его
Я кодирую с шаблоном состояния для встроенного устройства. У меня есть базовый / абстрактный класс, называемый State, и затем каждый дискретный (конкретный) класс состояний реализует абстрактный State State. В государственном классе у меня есть несколько абстрактных методов. Если я не реализую абстрактные методы в дискретном (конкретном) классе, Visual Studio выдаст …

1
Лучшие практики для реализации MVVM и MVC в Delphi Pascal
Я программист на Delphi Pascal, я использую последнюю версию Embarcadero Delphi XE, и я хотел бы воспользоваться преимуществами шаблонов проектирования, таких как контроллер представления модели и представление представления модели. Тем не менее, в Интернете, кажется, не так много о лучших методах сделать это на паскале. Большинство примеров, которые я могу …

2
В хранилище или не в хранилище
Когда я впервые узнал о Domain Driven Design, меня также познакомили с репозиторием и шаблонами рабочих единиц, которые когда-то казались первоклассными для крутых ребят, которые бросали SQL-запросы, например, пещерные люди, в базы данных. Чем глубже я углубился в эту тему, тем больше я узнал, что они больше не нужны, поскольку …

2
Является ли наследование контекста, как показано в примере с утилитой Head First Design Patterns, не относящимся к шаблону стратегии?
В Head First Design Patterns он учит шаблону стратегии , используя пример Duck, где различным подклассам Duck может быть назначено определенное поведение во время выполнения. Насколько я понимаю, целью паттерна стратегии является изменение поведения одного объекта во время выполнения, но они используют наследование Duck для изменения поведения различных типов Duck. …

4
Шаблон проектирования для полиморфного поведения при разрешении разделения библиотеки
Скажем , у меня есть иерархия Itemклассов: Rectangle, Circle, Triangle. Я хочу иметь возможность рисовать их, поэтому моя первая возможность - добавить виртуальный Draw()метод к каждому: class Item { public: virtual ~Item(); virtual void Draw() =0; }; Однако я хочу разделить функциональность рисования на отдельную библиотеку Draw, в то время …

3
Как я могу практиковать шаблоны проектирования и рефакторинг преднамеренно? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . Я читал книгу « Рефакторинг к шаблонам» и удивлялся, как я могу получить шанс отработать навыки, …

5
Лучшая практика - Обтекание, если вокруг вызова функции против добавления раннего выхода, если защита в функции
Я знаю, что это может быть очень специфично для конкретного случая, но я слишком часто задаюсь этим вопросом. Есть ли вообще предпочтительный синтаксис. Я не спрашиваю, каков наилучший подход, когда в функции, я спрашиваю, должен ли я выйти рано или просто не вызывать функцию. Обтекание, если вокруг вызова функции if …

2
Шаблон репозитория против создания объекта DAL
Насколько я узнал, IRepositoryдолжен содержать CRUD. Тогда мы наследуем это IRepositoryв наших других интерфейсов , как IProductи реализовать IProductконкретный класс ProductRepository, с методами , как GetAllProducts(), Top5Products(). Мы также можем сделать то же самое с n-уровневой архитектурой. как, создание DAL Class Libraryи в нем определить класс Productс методами , как …

3
Есть ли причина не изменять значения параметров, передаваемых по значению?
Существуют ли объективные, поддерживаемые аргументы в пользу разработки программного обеспечения за или против изменения значений параметров в теле функции? Повторяющаяся ссора (в основном в хорошем шутке) в моей команде заключается в том, следует ли изменять параметры, передаваемые по значению. Пара членов команды непреклонна, что параметры никогда не должны назначаться, так …

1
Шаблоны не являются строительными блоками - поэтому я не должен создавать приложение на основе шаблонов MVC / MVP?
Я читал эту страницу о шаблонах проектирования и о том, как вы должны обращаться с ними при написании кода. Насколько я понимаю, в заголовке ссылки говорится: Шаблоны не являются строительными блоками. Если я правильно понимаю, это значит не использовать шаблон проектирования, пока это не имеет смысла, правильно? Не начинайте с …

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