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

10
Скрытие / отключение функций для некоторых пользователей

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

10
Что такое «преждевременная абстракция»?

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

10
Какое лучшее определение для Dependency Injection?

Каждый раз, когда кто-то приходит ко мне и просит меня концептуально определить Dependency Injection и объяснить реальные плюсы и минусы использования DI в разработке программного обеспечения. Признаюсь, у меня есть некоторые трудности с объяснением понятий DI. Каждый раз, когда мне нужно...

10
Можем ли мы полностью заменить наследование, используя шаблон стратегии и внедрение зависимостей?

Например: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Поскольку класс Duck содержит все типы поведения (абстрактные), создание нового класса...

10
Как функциональное программирование справляется с ситуацией, когда на один и тот же объект ссылаются из разных мест?

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

9
Шаблон проектирования для управления окнами в приложении Java Swing

Я только начал создавать свое самое первое маленькое приложение на Java Swing. Когда программа открывается, она вызывает одно простое окно с меткой и парой кнопок. Нажатие одной из этих кнопок должно стереть экран приветствия и заменить его совершенно другой панелью. Я не уверен, что лучший способ...

9
Проведение презентации на тему «Стиль кода и шаблоны дизайна» [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Моя компания (небольшая, около 40 человек в 3 офисах) иногда проводит...

9
Поддерживает ли текущее доказательство принятие контекстных по сравнению с каноническими моделями данных?

«Каноническая» идея широко распространена в программном обеспечении; паттерны, такие как Canonical Model , Canonical Schema , Canonical Data Model и т. д., как представляется, снова и снова появляются в процессе разработки. Как и многие разработчики, я часто некритически следовал общепринятому...

9
Разрешения / правильная модель / шаблон для приложения .NET

Мне нужно реализовать гибкий И простой (если такая вещь существует) и в то же время использовать встроенные средства, если это возможно До сих пор я реализовал MembershipProvider и RoleProviders. Это круто, но куда мне идти дальше? Я чувствую, что мне нужно добавить термин «Привилегия», а затем...

9
Можно ли иметь много абстрактных классов в вашем приложении?

Сначала мы хотели реализовать шаблон Стратегии с различными реализациями методов в общем интерфейсе. Они будут выбраны во время выполнения на основе пользовательских данных. Как оказалось, у нас есть абстрактные классы, реализующие 3-5 общих методов, и только один метод остался для различной...

9
Шаблон наблюдателя по HTTP и TCP / IP (сервер-клиент)

У меня есть сервер и много клиентов (около 50 клиентов), которые подключаются к этому серверу на основе веб-приложения, которое, конечно, основано на протоколе HTTP, который, в свою очередь, использует TCP / IP (поправьте меня, если я ошибаюсь, потому что я Я не очень хорош в сети). Проблема...

9
Неизменные структуры и глубокая иерархия композиции

Я разрабатываю приложение с графическим интерфейсом, интенсивно работаю с графикой - для примера вы можете думать об этом как о векторном редакторе. Очень заманчиво сделать все структуры данных неизменяемыми, чтобы я мог без особых усилий отменить / повторить, скопировать / вставить и многое...

9
Как дочерний конечный автомат может вернуть управление родительскому конечному автомату?

У моего автомата верхнего уровня есть некоторые состояния и ребра. Я назову это родительским конечным автоматом. A ----> B ----> C Любое состояние внутри родительского конечного автомата также может быть конечным автоматом. Я назову этих детей государственными машинами. ___________ / \ A...

9
Понимание слабой / плотной связи в «реальном мире»

Я не буду говорить, что такое «сообщество», потому что мне нужно непредвзятое объяснение, но, скажем, вы создаете модуль многократного использования, и этому модулю требуется более 3 зависимых модулей, и удаление одного из них приводит к ошибке не только в вашем приложении как Целый, который...

9
Когда прекратить наследование?

Однажды я задал вопрос о переполнении стека о наследовании. Я сказал, что проектирую шахматный движок в ООП-моде. Таким образом, я наследую все свои части от абстрактного класса Piece, но наследование все еще продолжается. Позвольте мне показать по коду public abstract class Piece { public void...

9
Философия за памятью

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

9
Каковы преимущества шаблона делегата над шаблоном наблюдателя?

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

9
Как бы я комбинировал «Command» и «Composite» для имитации временной задержки?

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

9
Стиль программирования на Perl

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