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

142
Как реализовать ленту активности в социальной сети

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

141
Паттерны проектирования: абстрактная фабрика против фабричного метода

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

139
Можно ли создавать статические классы в PHP (как в C #)?

Я хочу создать статический класс в PHP и вести себя так же, как в C #, поэтому Конструктор автоматически вызывается при первом вызове класса Инстанцирование не требуется Что-то в этом роде ... static class Hello { private static $greeting = 'Hello'; private __construct() { $greeting .= ' There!'; }...

139
Есть ли вариант использования синглтонов с доступом к базе данных в PHP?

Я получаю доступ к своей базе данных MySQL через PDO. Я настраиваю доступ к базе данных, и моей первой попыткой было использовать следующее: Первое, о чем я подумал global: $db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd'); function some_function() { global $db;...

137
Является ли ServiceLocator антишаблоном?

Недавно я прочитал статью Марка Симанна об анти-паттерне Service Locator. Автор указывает на две основные причины, почему ServiceLocator является анти-паттерном: Проблема использования API (с которой у меня все в порядке) Когда в классе используется локатор Service, очень трудно увидеть его...

137
Шаблон Builder в эффективной Java

Я недавно начал читать «Эффективную Java» Джошуа Блоха. Я нашел идею паттерна «Строитель» [пункт 2 в книге] действительно интересной. Я пытался реализовать это в своем проекте, но были ошибки компиляции. Вот, по сути, то, что я пытался сделать: Класс с несколькими атрибутами и его класс строителя:...

137
MVC (Laravel) где добавить логику

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

136
Различия между шаблоном прокси и декоратором

Можете ли вы дать какое-нибудь хорошее объяснение, в чем разница между Proxy и Decorator ? Основное различие, которое я вижу, заключается в том, что когда мы предполагаем, что Proxy использует композицию, а Decorator использует агрегацию, тогда кажется очевидным, что, используя несколько (один или...

136
База данных значений атрибутов сущностей против строгой реляционной модели электронной коммерции

Можно с уверенностью сказать, что модель базы данных EAV / CR плохая. Это сказало, Вопрос: Какую модель базы данных, технику или шаблон следует использовать для работы с «классами» атрибутов, описывающих продукты электронной коммерции, которые можно изменить во время выполнения? В хорошей базе...

136
Шаблон Наблюдателя против «Слушателей»

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

135
Разница между шаблонами проектирования Фасад, Прокси, Адаптер и Декоратор? [закрыто]

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

134
Интерфейсы маркеров в Java?

Меня учили, что интерфейс Marker в Java является пустым интерфейсом и используется, чтобы сигнализировать компилятору или JVM, что объекты класса, реализующие этот интерфейс, должны обрабатываться особым образом, как сериализация, клонирование и т. Д. Но в последнее время я узнал, что это на самом...

134
Моделирование лифта с использованием объектно-ориентированного анализа и проектирования [закрыто]

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

133
Создание подкласса класса Java Builder

Расскажите об этой статье доктора Доббса и, в частности, о шаблоне Builder, как нам поступить в случае создания подкласса от Builder? Если взять урезанную версию примера, в котором мы хотим создать подкласс для добавления маркировки ГМО, наивная реализация будет выглядеть так: public class...

124
Зачем нам нужен шаблон проектирования Абстрактная фабрика?

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

121
Использование шаблона стратегии и шаблона команд

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

121
Пример сквозной озабоченности

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