Все вопросы: [design-patterns]
1 879 вопросов
Это лучшее использование шаблона адаптера?
Будет ли использование шаблона адаптера лучшим вариантом, когда все, к чему вы пытаетесь адаптироваться, - это класс, содержащий поля, а не методы или функции? Например, может ли следующий подход лучше всего подойти?Я использую C #, если это имеет значение для ваших ответов. NewClass ...
Схема расчета заработной платы
Я хочу разработать систему, аналогичную расчету заработной платы.Заработная плата имеет базовую ценность.Вдобавок к этому сотрудник может получить бонусы или штрафы.Шаблон декоратора подходит для этого сценария Salary finalSalary = new HardworkBonus(new LateComingPenalty(new BasicSalary())) S...
Шаблоны для функционального, динамического и аспектно-ориентированного программирования
У нас есть очень хорошая книга GoF (Шаблоны проектирования: элементы объектно-ориентированного программного обеспечения многократного использования) о шаблонах в объектно-ориентированном программировании, а также множество статей и ресурсов в Интернете по этой теме. Есть ли книги (статьи, рес...
Мне нужно сгенерировать PL / SQL с помощью Java.Большинство процедур общие.Лишь немногие продолжают меняться.Как это сделать?
Мне нужно сгенерировать код PL-SQL с некоторым общим кодом (неизменным) и кодом переменной.Я не хочу использовать какие-либо внешние инструменты. Некоторые способы мышления: Могу я пойти и сохранить общий код в шаблоне и с маркерами, где мой Java-код будет генерировать код в маркерах и г...
Уменьшение памяти похожих объектов
Я хочу уменьшить потребление памяти таблицей, такой как объект коллекции. Учитывая структуру классов, например Class Cell { public property int Data; public property string Format; } Class Table { public property Dictionary<Position, Cell> Cells; } При большом количе...
Как лучше всего представить отношения с точки зрения производительности при разработке ORM?
Как лучше всего представить взаимосвязь с точки зрения производительности при разработке ORM?Я имею в виду, какой из следующих двух подходов лучше всего подходит с точки зрения производительности? class Employee { int ID { get; set; } String Name { get; set; } int DepartmentI...
объединение декоратора и паттерна состояний в java - вопрос об объектно-ориентированном дизайне
Я занимаюсь решением проблемы, и, по моему мнению, она лучше всего подходит для декоратора и шаблона состояния. Настройка высокого уровня - это что-то вроде бутербродницы и дозатора, где у меня есть определенное количество ингредиентов и несколько различных типов садничей, которые я могу пригото...
Сколько времени должно пройти на проектирование, прежде чем начнется кодирование?
В настоящее время я учусь в школе, и для моего проекта для пожилых людей мы должны потратить 1/3 семестра просто на создание диаграмм UML и другой утомительной документации для нашего проекта. Это включает в себя большой объем разработки и планирования будущих проблем, которые еще не возникли...
ленивая инициализация синглтонов
Читая статью Джона Скита о синглтонах в C # , я задумался, зачем намленивая инициализация в первую очередь.Кажется, что четвертого подхода из статьи должно хватить, вот он для справки: public sealed class Singleton { static readonly Singleton instance=new Singleton(); // Explicit st...
Шаблон повторяющегося заказа
Я участвую в проекте, который будет включать ежедневные или ежемесячные повторяющиеся заказы.Может ли кто-нибудь вместо того, чтобы изобретать колесо, указать мне образец такого животного? Я думаю о классической схеме, например о заказах с позициями.Что-то, что помогает нам прояснить наше мышл...
Помогите удалить синглтон: ищу альтернативу
Предыстория: у меня есть классы, реализующие шаблон проектирования субъект / наблюдатель, который я сделал поточно-ориентированным. subject уведомит его observers простым вызовом метода observer->Notified( this ), если observer был создан в том же потоке, что и уведомление. Но если observer б...
Как сравнить два совершенно разных объекта с похожими свойствами
Это все на C # с использованием .NET 2.0. У меня есть два списка объектов.Это не связанные объекты, но у них есть определенные вещи в общем, что можно сравнить, например, уникальный идентификатор на основе Guid.Эти два списка нуждаются в быть отфильтрован другим списком, который просто содерж...
Шаблоны для объявления функций для большей читабельности
В C ++ функции нужно было объявить до их вызова.Это можно было бы обойти с помощью сигнатур функций, но по большей части это больше не требуется в новых языках программирования, C #, Python, ETC. Однако, читая код других людей и структурируя функции в классе, я обнаружил, что мне не хватает с...
Справка по транзакциям InnoDB - выберите, если не найдено, добавить уникальную строку
У меня есть таблица mysql, содержащая части IPAddress TABLE `EndPoints`( `EndPointId` BIGINT(19) UNSIGNED NOT NULL AUTO_INCREMENT , `IpPart1` TINYINT(3) UNSIGNED NOT NULL , `IpPart2` TINYINT(3) UNSIGNED NOT NULL , `IpPart3` TINYINT(3) UNSIGNED NOT NULL , `IpPart4` TINYINT(...
Как я могу управлять группой производных, но в остальном не связанных классов
Кажется, чем больше я говорю об этой проблеме, тем лучше я ее понимаю. Я думаю, что мой предыдущий вопрос не передавал то, что я пытаюсь сделать правильно. Мои извинения за это. В моем дизайне у меня есть GameObject, которые, по сути, являются классом агрегации, вся функциональность GameObjec...
MVVM, где поставить Data Access Layer?
Я изучаю шаблон проектирования WPF MVVM.Но я не уверен, где разместить код доступа к данным? В некоторых рассмотренных мною примерах доступ к данным осуществляется непосредственно в ViewModel.Кажется странным помещать в ViewModel что-то вроде linq to sql?В других примерах есть отдельный проек...
Это недостаток дизайна?
Рассмотрим два класса class A{ public: A(){ } ~A(){ } }; class AImpl : public A{ public: AImpl(){ a = new AInternal(); } AImpl(AInternal *a){ this->_a = a; } ~AImpl(){ ...
Абстракция поведенческой логики - есть ли шаблон проектирования?
Мне нужно абстрагироваться от некоторого поведенческого кода, и у меня возникла проблема с попыткой ссылаться на объекты в классе, который вызывает это поведение, позвольте мне попытаться объяснить: Мой «родительский» класс имеет свойство CurrentPage . У меня также есть некоторая поведенческ...
Ищем шаблон дизайна
У меня 80-90 классов, которые все являются расчетами.Но каждый класс использует один метод вычислить, которое одинаково в каждом классе.Предметы, которые различаются в каждом классе, - это - переменные экземпляра, используемые внутри метода вычислений. Причина, по которой я ищу шаблон, заключ...
Datepicker в Javascript
Как лучше всего (шаблон) создать datepicker в Javascript? Я создал один с использованием шаблона Singleton, но меня не устраивает.
Рефакторинг двух уровней операторов переключения
Я унаследовал кодовую базу, которая интенсивно использует операторы switch (C #, FWIW) для управления некоторой логикой.Это мультитенантное веб-приложение, в котором один набор операторов switch относится к тому, как отображается контент, а другой - к ссылкам на функции, по крайней мере, в больш...
Когда и почему следует использовать шаблон стратегии?
Когда можно использовать шаблон стратегии ? Я вижу такие фрагменты клиентского кода: class StrategyExample { public static void main(String[] args) { Context context; // Three contexts following different strategies context = new Context(new ConcreteStrateg...
Шаблон нулевого объекта Фаулера: зачем использовать наследование?
Почему Fowler PoEAA стр.498 определяют шаблон нулевого объекта следующим образом (пример сокращен, язык - C #, но не имеет значения): public class Customer { public virtual string Name {get; set;} } public class NullCustomer : Customer, INull { public override Name { get { return...
Есть ли причина избегать шаблона дозорного в Java?
Я слышал, что люди советуют всегда использовать шаблон итератора для управления циклами.вместо создания исключения (как это делается в итераторах Python ) или с помощью шаблона Sentinel , в соответствии с которым специальное контрольное значение (часто null) возвращается вуказывают на конец ...
List <> лучше, чем DataSet для уровня пользовательского интерфейса в ASP.Net?
Я хочу получить данные со своего уровня доступа к данным на моем бизнес-уровне, а затем подготовить их для использования в моем пользовательском интерфейсе. Поэтому мне интересно: что лучше: прочитать мои данные до DataReader и использовать их для заполнения List<BLClasses> или для зап...
Шаблон репозитория: только для источника базы данных?
Мне было интересно, могу ли я использовать шаблон репозитория для чего-нибудь, кроме уровня базы данных? Я использовал шаблон для товарной тележки, где я хранил товары товарной тележки в массиве в классе ShopCartRepository.Затем я получил данные из ShopCartRepository, используя класс ShopCart...
C ++: оболочка статической функции, которая направляет функцию-член?
Я пробовал всевозможные дизайнерские подходы для решения этой проблемы, но, похоже, я просто не могу понять это правильно. Мне нужно предоставить некоторые статические функции для использования в качестве функции обратного вызова в C lib.Однако я хочу, чтобы фактическая реализация была нестат...
Любой список шаблонов проектирования, отсортированный по «частоте использования»?
Есть ли список шаблонов проектирования, показывающий, какие из них наиболее часто используются;скажем, отсортировано по частоте их использования. Я полагаю, если такой список доступен, может быть, он может быть своего рода руководством, чтобы узнать, с чего начать изучать и практиковать шабло...
где лучше всего зарегистрировать прокси и посредник во фреймворке flex puremvc?
Я использую фреймворк puremvc для разработки гибких проектов. Мой вопрос связан с тем, как лучше всего отложить регистрацию класса прокси и класса посредника? В настоящее время в команде запуска я регистрирую посредника запуска. В моем коде: ApplicationFacade.as StartupCommand.as Star...
Как лучше всего обрабатывать структуру данных строки таблицы?
Факты У меня есть следующая структура данных, состоящая из таблицы и списка атрибутов (упрощенный): class Table { List<Attribute> m_attributes; } abstract class Attribute {} class LongAttribute extends Attribute {} class StringAttribute extends Attribute {} class DateAttribute ...