design-patterns- все статьи тега


Как управлять изменениями ViewModel в архитектуре источников событий CQRS +

В настоящее время мы оцениваем CQR и архитектуры источников событий. Я пытаюсь понять, какие последствия для обслуживания имеет использование такого рода дизайна. Два вопроса, на которые я изо всех сил пытаюсь найти ответы: 1) Что произойдет, если после запуска приложения в течение некоторого времени возникнет новое требование добавить дополнительное поле в ViewModel в базе данных ReadModel? Скажем, почтовый индекс клиента требуется в списке клиентов ViewModel, где он был не раньше. Таким о ...

Как вызвать метод enum basis, по какому типу он передается?

У меня есть ниже перечисление, как показано ниже, из которого мне нужно вызвать его соответствующий метод, основанный на том, какой тип события это. public enum EventType { EventA { // cannot call this method public Map<String, Map<String, String>> execute(String eventMapHolder) { final Map<String, String> holder = parseStringToMap(eventMapHolder); if (holder.isEmpty() || Strings.isNullOrEmpty(holder.get("m_itemId"))) { return ImmutableMap.of(); ...

Разве в C# шаблон наблюдателя уже не реализован с помощью событий?

Прочитав первую главу книги "шаблоны проектирования" и используя ряд других шаблонов проектирования, я пытаюсь понять шаблон наблюдателя. Разве это уже не реализовано с помощью событий в .NET Framework? ...

Паттерн стратегии против инъекции зависимости

Чем отличается паттерн стратегии от инъекции зависимостей? То есть ниже то, что вы можете сделать с паттерном стратегии: class Foo{ private readonly ISortAlgo _sortAlgo; public Foo(ISortAlgo sortAlgo) { _sortAlgo = sortAlgo; } public void Sort() { _sortAlgo.sort(); } } С DI вы можете сделать то же самое, по существу у вас может быть конструктор, сеттер, интерфейс и т. д. инъекция. и это даст тот же эффект, что и стратегия паттерна. Я знаю, что DI-это также набор д ...

Может ли Алмазная проблема быть действительно решена?

Типичной проблемой в ОО-программировании является Алмазная задача. У меня есть родительский класс A с двумя подклассами B и C. A имеет абстрактный метод, B и C реализуют его. Теперь у меня есть подкласс D, который наследует B и C. проблема алмаза теперь заключается в том, какую реализацию должен использовать D, одну из B или одну из C? Люди утверждают, что Java не знает проблемы алмазов. У меня может быть только множественное наследование с интерфейсами, и поскольку они не имеют реализации, у ...

Разница между посетителем pattern & Double Dispatch

Я читаю о шаблоне посетителя, и он выглядит так же, как двойная отправка. Есть ли какая-то разница между ними? Делать два термина означает одно и то же. Ссылка: http://www.vincehuston.org/dp/visitor.html ...

Следует ли вообще помещать константы в интерфейс?

Я знаю, что размещение констант в интерфейсе обычно считается плохой практикой, но... Я использую шаблон наблюдателя для трансляции событий от объекта к слушателю. interface DownloadListener { public void sendEvent(int eventId); } Вещатель использует постоянные ints, чтобы сообщить слушателю, какое событие произошло. class DownloadTask { public static final int EVENT_DOWNLOAD_STARTED = 1; public static final int EVENT_DOWNLOAD_COMPLETED = 2; //should these go here? Do ...

Как изменить Tab Из TabControl в WPF, не нарушая шаблон MVVM

Мои окна WPF содержат TabControl, который отображает содержимое на разных вкладках. Щелчок по кнопке ниже выполняет метод через интерфейс ICommand / Binding. Вызываемый метод генерирует текст, который предназначен для отображения во второй вкладке. Как я могу переключиться на вторую вкладку при нажатии кнопки, не нарушая шаблон MVVM? Я попытался связать Табитем.IsSelected свойство к чему-то в моем ViewModel, но я хотел использовать другие вкладки (tab1) также. Есть мысли? ...

Какова концепция сервисного контейнера в Laravel?

Я начинаю изучать Laravel, но я не понимаю концепцию служебного контейнера. Как это работает и что нужно знать разработчикам, чтобы полностью использовать эту концепцию в Laravel? ...

Как включить макросы в Python?

Это похожий вопрос, но моя цель-не производительность, а читаемость. Предположим, у меня есть разные Behaviours, и они разделяют повторяющуюся функцию f1(). from abc import ABCMeta, abstractmethod class Behavior: __metaclass__ = ABCMeta @abstractmethod def run(self): pass class Behavior1(Behavior): def __init__(self, data): self.data = data def run(self): def f1(): print(self.data*localVar) localVar = 1. f1() clas ...

Статическая Фабрика: Проблема Проектирования Java

У меня есть базовый интерфейс, который определяет некоторые общие функциональные возможности. Теперь этот базовый интерфейс может быть реализован более чем 50 классами, каждый из которых имеет несколько различных дополнительных методов. Я хочу иметь статическую фабрику, которая будет возвращать экземпляр любого из 50 классов в зависимости от параметра, передаваемого этому методу статической фабрики. public interface Base { public void a(); public void b(); } public class myclass impl ...

Что такого плохого в синглетах? [закрытый]

The синглтон шаблон является полностью оплаченным членом г ' s patterns book, но в последнее время он кажется довольно сиротой в мире разработчиков. Я все еще использую довольно много синглетов, особенно для классов фабрики, и хотя вы должны быть немного осторожны в вопросах многопоточности (как и любой класс на самом деле), я не понимаю, почему они так ужасны. переполнение стека особенно, кажется, предполагает, что все согласны с тем, что Синглтоны-это зло. Зачем? Пожалуйста, поддержите свои ...

В чем разница между MVC и MVVM?

есть ли разница между стандартным шаблоном "Model View Controller" и шаблоном Microsoft Model/View/ViewModel? ...

Как различаются Шаблоны Прокси, декоратора, адаптера и моста?

Я смотрел на прокси-шаблон, и мне кажется, что он очень похож на декоратор, адаптер и мостовые шаблоны. Я что-то не так понял? Какая разница? Почему я должен использовать прокси-шаблон против других? Как вы использовали их в прошлом в реальных проектах? ...

Как правильно реализовать шаблон Заводского метода в C++

в C++ есть одна вещь, которая заставляет меня чувствовать себя некомфортно в течение довольно долгого времени, потому что я честно не знаю, как это сделать, хотя это звучит просто: Как правильно реализовать Заводской метод в C++? цель: дать возможность клиенту создать экземпляр некоторого объекта с помощью заводских методов вместо конструкторов объекта, без неприемлемых последствий и снижения производительности. под "шаблоном метода фабрики" я подразумеваю как статические методы фабрики внут ...

Шаблоны Проектирования Реляционных Баз Данных?

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

Обработка диалоговых окон в WPF с помощью MVVM

в шаблоне MVVM для WPF, обработка диалоговых окон является одной из более сложных операций. Поскольку ваша модель представления ничего не знает о представлении, диалоговая связь может быть интересной. Я могу выставить ICommand, что когда представление вызывает его, может появиться диалоговое окно. кто-нибудь знает хороший способ обработки результатов из диалогов? Я говорю о диалоговых окнах windows, таких как MessageBox. одним из способов, которым мы это сделали, было событие на viewmodel, к ...

Какие шаблоны дизайна используются на Android? [закрытый]

Я делаю небольшое исследование мобильных платформ, и я хотел бы знать, какие шаблоны дизайна используются в Android? например, в iOS Model-view-controller очень широко используется вместе с делегированием и другими шаблонами. какие шаблоны и где, в частности, используется Android? EDIT Я не прошу шаблоны проектирования, используемые глубоко в ядре, dalvik и так далее, но о шаблонах, которые разработчик приложения встретимся во время разработки приложения. ...

Что такое статические методы фабрики?

Что такое метод "статической фабрики"? ...

Где разместить AutoMapper.CreateMaps?

Я использую AutoMapper на ASP.NET MVC приложение. Мне сказали, что я должен переместить AutoMapper.CreateMap в другом месте, поскольку у них много накладных расходов. Я не слишком уверен, как создать мое приложение, чтобы поместить эти вызовы всего в 1 место. у меня есть веб-слой, слой сервиса и уровень данных. У каждого свой проект. Я использую Ninject для DI все. Я буду использовать AutoMapper как в веб -, так и в сервисном слоях. Итак, каковы ваши настройки для AutoMapperCreateMap? Куда ты ...