Результаты поиска
Что такое MVP и MVC и в чем разница?
При взгляде за пределы RAD (перетаскивание и настройка) способа построения пользовательских интерфейсов, который поощряют многие инструменты, вы, вероятно , столкнетесь с тремя шаблонами проектирования, называемыми Model-View-Controller, Model-View-Presenter и Model-View-ViewModel . Мой вопрос состоит из трех частей к нему:
- Какие проблемы решают эти модели?
- Насколько они похожи?
- Чем они отличаются друг от друга?
1950   16   16:03, 1st July, 2020
Как создать класс, используя шаблон проектирования Singleton в Ruby?
Шаблон singleton-это шаблон проектирования, который используется для ограничения создания экземпляра класса одним экземпляром объекта. Хотя я знаю, как кодировать шаблон singleton в C++ и Java, мне было интересно, знает ли кто-нибудь, как реализовать его в Ruby?
Вы знаете какие-нибудь шаблоны для программирования GUI? (Не паттерны на проектирование GUIs)
Я ищу паттерны, которые касаются кодирования частей a GUI. Не такой глобальный, как MVC, с которым я хорошо знаком, но шаблоны и хорошие идеи и лучшие практики, касающиеся отдельных элементов управления и входных данных.
Допустим, я хочу сделать элемент управления, который отображает некоторые объекты, которые могут перекрываться. Теперь, если я нажимаю на объект, мне нужно выяснить, что делать (просто найти объект я могу несколькими способами, такими как четырехмерное дерево и Z-порядок, это не проблема). А также я мог бы удерживать клавишу модификатора, или какой-то объект активен с самого начала, что делает выбор или что-то еще немного сложнее. Если у меня есть экземпляр объекта, представляющий объект экрана, обработайте пользовательское действие при нажатии или мастер-класс. и т.д.. Какие существуют шаблоны или решения для подобных проблем?
Используете ли вы шаблоны проектирования?
Каково проникновение шаблонов проектирования в реальный мир? Используете ли вы их в своей повседневной работе-обсуждая, как и где их применять с коллегами - или они остаются скорее академической концепцией?
Действительно ли они обеспечивают реальную ценность вашей работы? Или это просто то, о чем люди говорят, чтобы казаться умными?
Примечание: для целей этого вопроса игнорируйте шаблоны проектирования 'simple', такие как Singleton . Я говорю о разработке вашего кода, чтобы вы могли воспользоваться контроллером вида модели и т. д.
Шаблон проектирования для разбора данных двоичного файла и хранения их в базе данных
Кто-нибудь рекомендует шаблон проектирования для взятия двоичного файла данных, разбора его частей на объекты и хранения результирующих данных в базе данных?
Я думаю, что подобный шаблон можно было бы использовать для взятия файла XML или файла с разделителями табуляции и разбора его на репрезентативные объекты.
Общая структура данных будет включать::
(Заголовок) (DataElement1) (DataElement1SubData1) (DataElement1SubData2)(DataElement2) (DataElement2SubData1) (DataElement2SubData2) (EOF)
Я думаю, что хороший дизайн включал бы способ изменить определение синтаксического анализа на основе типа файла или некоторых определенных метаданных, включенных в заголовок. Таким образом, Фабричный шаблон будет частью общего дизайна для части синтаксического анализатора.
Синглтоны: хороший дизайн или костыль?
Синглеты-это горячо обсуждаемый шаблон дизайна,поэтому мне интересно, что о них думает сообщество Stack Overflow.
Пожалуйста, укажите причины для вашего мнения, а не только "Singletons are for lazy programmers!"
Вот довольно хорошая статья по этому вопросу, хотя она и против использования Синглетов: scientificninja.com: производительность-синглтоны .
Есть ли у кого-нибудь еще хорошие статьи о них? Может быть, в поддержку Синглетов?
Ищем пример командного шаблона для UI
Я работаю над приложением WinForm .Net с базовым UI, которое включает кнопки панели инструментов, пункты меню и нажатия клавиш, которые все инициируют один и тот же базовый код. Прямо сейчас обработчики событий для каждого из них вызывают общий метод для выполнения функции.
Из того, что я прочитал, этот тип действий может быть обработан шаблоном проектирования команд с дополнительным преимуществом автоматического включения/выключения или проверки/снятия флажков элементов UI.
Я искал в сети хороший примерный проект, но так и не нашел его. Есть ли у кого-нибудь хороший пример, которым можно поделиться?
Вы действительно можете построить быстрый текстовый процессор с шаблонами дизайна GoF?
Шаблоны дизайна Банды Четырех используют текстовый процессор в качестве примера по крайней мере для нескольких своих шаблонов, особенно композитных и Flyweight.
Помимо использования C или C++, можно ли действительно использовать эти шаблоны и объектно-ориентированные накладные расходы, которые они влекут за собой, чтобы написать высокопроизводительный полнофункциональный текстовый процессор?
Я знаю, что Eclipse написано в Java, но я не использовал его много, поэтому я не знаю, все ли это так быстро или так же отполировано, как что-то вроде Visual Studio, которая имеет систему редактирования текста на основе C++.
Я использовал только C++ и Java в качестве примеров. Этот вопрос больше связан с накладными расходами, связанными с наличием большого количества объектов в памяти, таких как приложение, такое как текстовый процессор или даже игра.
Шаблоны проектирования способствуют абстракции за счет скупости, хотя они обычно указывают, когда вы можете получить какой-то удар по производительности. Текстовые процессоры и особенно игры получают максимальную выгоду от того, чтобы быть как можно ближе к металлу.
Мне просто интересно, знает ли кто-нибудь о быстром объектно-ориентированном текстовом процессоре или текстовом редакторе, который не был написан на C++, и будут ли они строить его с использованием шаблонов или они забудут много абстрагирования вещей?
Agile архитектуры
Я начинаю свою дипломную работу, и тема будет "agile architectures"
В основном, он будет начинаться с описания традиционных методологий разработки программного обеспечения и последующего рождения методологий agile, заканчивая рекомендациями и дизайном гибкой архитектуры приложений, легко адаптируемой к присущим изменениям в программном обеспечении.
Мой вопрос в том, какие шаблоны и методы проектирования вы бы порекомендовали для такой архитектуры? Меня интересуют шаблоны, которые позволяют максимизировать развязку классов, такую как инъекция зависимостей, высокая ремонтопригодность и максимальная абстракция от конкретной проблемы.
Используйте предложение LIKE в части внутреннего соединения
Могу ли я / должен ли я использовать критерий LIKE как часть внутреннего соединения при построении сохраненного procedure/query? я не уверен, что задаю правильный вопрос, поэтому позвольте мне объяснить.
Я создаю процедуру, которая будет принимать список ключевых слов для поиска в столбце, содержащем текст. Если бы я сидел за пультом, то выполнил бы его именно так:
SELECT Id, Name, Description
FROM dbo.Card
WHERE Description LIKE '%warrior%'
OR
Description LIKE '%fiend%'
OR
Description LIKE '%damage%'
Но трюк, который я немного подхватил, чтобы сделать разбор списка "strongly typed" в хранимой процедуре, заключается в том, чтобы разобрать список в табличную переменную/временную таблицу, преобразовать его в нужный тип и затем выполнить внутреннее соединение с этой таблицей в моем конечном результирующем наборе. Это отлично работает при отправке, скажем, списка целых чисел IDs в процедуру. Я заканчиваю тем, что у меня есть последний запрос, который выглядит следующим образом:
SELECT Id, Name, Description
FROM dbo.Card
INNER JOIN @tblExclusiveCard ON dbo.Card.Id = @tblExclusiveCard.CardId
Я хочу использовать этот трюк со списком строк. Но поскольку я ищу конкретное ключевое слово, я собираюсь использовать предложение LIKE. Поэтому в идеале я думаю, что мой последний запрос будет выглядеть следующим образом:
SELECT Id, Name, Description
FROM dbo.Card
INNER JOIN @tblKeyword ON dbo.Card.Description LIKE '%' + @tblKeyword.Value + '%'
Это possible/recommended?
Есть ли лучший способ сделать что-то подобное?
Причина, по которой я ставлю подстановочные знаки на обоих концах предложения, заключается в том, что в текстах карт используются термины "archfiend", "beast-warrior", "direct-damage" и "battle-damage".
У меня складывается впечатление, что в зависимости от производительности я могу либо использовать указанный запрос, либо использовать полнотекстовый поиск по ключевым словам для выполнения той же задачи?
Кроме того, что сервер делает текстовый индекс для полей, которые я хочу найти в тексте, есть ли что-то еще, что мне нужно сделать?
Шаблон Транзакционного Проектирования
У меня есть необходимость создать процесс "transactional" с помощью внешнего API, который не поддерживает транзакции COM+ или .NET (Sharepoint, чтобы быть точным)
Что мне нужно сделать, так это иметь возможность выполнять несколько процессов в определенной последовательности, но любой сбой в этой последовательности означает, что мне придется вручную отменить все предыдущие шаги. В моем случае есть только 2 типа шага, оба из которых довольно легко отменить/откатить назад.
Есть ли у кого-нибудь предложения по дизайну моделей или структур, которые могли бы быть полезны для этого ?
Каковы некоторые примеры реализации шаблонов проектирования с использованием JavaScript?
Я умеренно квалифицированный программист, использующий JavaScript, но я не гуру. Я знаю, что вы можете делать с ним довольно мощные вещи, просто я не видел ничего, кроме довольно простых манипуляций DOM. Мне интересно, могут ли люди привести некоторые примеры традиционных концепций дизайна, таких как фабричный метод, Singleton и т. д. с использованием JavaScript. В каких случаях эти шаблоны будут использоваться в интернете?
440   10   01:27, 25th August, 2020
Compact Framework - есть ли в наличии фреймворк MVC/библиотека?
Я нашел статью на эту тему от сотрудника Microsoft, но кто-нибудь реализовал более надежную структуру для этого? Существует ли легкий фреймворк для WinForms, который можно было бы легко портировать? Я хотел бы довольно быстро войти в курс дела и избежать создания собственной структуры/библиотеки, чтобы справиться с этим, когда кто-то более умный уже сделал это.
Я не смотрел на фабрику мобильного программного обеспечения из группы P&P, но подозреваю, что она довольно тяжелая. Стоит ли на это смотреть?
Edit: я не ищу информацию о проекте ASP.NET MVC. Я спрашиваю о реализации compact framework 'WinForms' и о том, как реализовать MVC с помощью этого.
553   7   00:19, 3rd August, 2020
За пределами шаблонов проектирования?
За последние 10 лет или около того было небольшое количество статей и статей, ссылающихся на новую работу Кристофера Александера "The Nature of Order" и как ее можно применить к программному обеспечению.
К сожалению, единственные работы, которые я могу найти, принадлежат Джеймсу Коплиену и Ричарду Гэбриэлу; кроме этого нет ничего, по крайней мере, из моих попыток найти такие вещи через google.
Происходит ли где-нибудь подобное обсуждение?
MSN
@Georgia
Мой вопрос не о шаблонах дизайна или языках шаблонов; речь идет о попытке увидеть, можно ли применить больше работы Кристофера Александра к программному обеспечению (что, вероятно, возможно, поскольку у него еще меньше физических ограничений, чем у архитектуры и строительства).
Шаблоны дизайна и языки шаблонов, похоже, охватили структуру шаблонов дизайна Александра, но не многие из них отражают суть. Суть заключается в том, что нечто выходит за рамки решения проблемы в конкретном контексте.
Это трудно объяснить, не используя некоторые из более поздних работ Александра в качестве ориентира.
Edit: Нет, я беру свои слова обратно.
Например, есть архитектурный шаблон дизайна, который называется альковами. Эта модель имеет контекст, который не только коренится в обстоятельствах ситуации, но и коренится в основах назначения зданий: что они являются структурами, в которых можно жить, и должны способствовать проживанию в них. В случае с моделью алькова контекст заключается в том, что вы хотите, чтобы область, которая позволяет нескольким людям находиться в одной и той же области, занимаясь разными вещами, потому что для членов семьи важно физически быть вместе, а также иметь возможность делать вещи, которые, как правило, отвлекают других членов семьи.
Большинство шаблонов проектирования программного обеспечения описывают проблему в контексте, но они не делают более глубокого заявления о том, почему проблема важна или почему проблема является чем-то фундаментальным для программного обеспечения. Это делает его очень легко применять шаблоны проектирования неуместно или беспечно, что является полной противоположностью намерению шаблонов проектирования, чтобы начать С.
MSN
Что такое MVC и каковы его преимущества?
Я нашел, что такое mvp и mvc, и в чем разница , но это действительно не ответило на этот вопрос.
Я недавно начал использовать MVC, потому что это часть фреймворка, который собираюсь использовать я и мой партнер по работе. Мы выбрали его, потому что он выглядел легко и отделил процесс от отображения, есть ли преимущества помимо этого, о которых мы не знаем и которые могли бы упустить?
Плюсы
- Отображение и обработка разделены
Аферы
- Пока ни одного
Как представить информацию о кросс-модели в MVC?
У меня есть приложение, построенное с использованием MVC, которое создает представление, которое предоставляет сводную информацию по нескольким моделям. Кроме того, некоторые вычисления выполняются по различным наборам данных.
Нет четкой единой модели (которая, по крайней мере, сопоставляется с таблицей), которая, по-видимому, имеет смысл в качестве отправной точки для этого, поэтому различные сводки извлекаются из способствующих моделей в контроллере, передаются в представление и вычисления выполняются там.
Но это кажется, ну, грязным . Но контроллеры должны быть легкими, не так ли? И бизнес-логика не должна быть в представлениях,так как у меня она присутствует.
Так где же должна быть собрана эта информация? Новая модель, которая не сопоставляется с таблицей? Библиотека function/module? или что-то еще?
(Хотя я рассматриваю это как в основном архитектурный / шаблонный вопрос, я работаю в Rails, FWIW.)
Edit: хорошие ответы на все вопросы и много консенсуса, что обнадеживает. Я "accepted" ответ, который я сделал, чтобы сохранить ссылку на Railscasts в верхней части. Я отстаю в своем просмотре Railscast-что-то, что я буду делать напряженные попытки исправить!
Абстрактный Шаблон Дизайна Фабрики
Я работаю над внутренним проектом для своей компании, и часть проекта заключается в том, чтобы иметь возможность анализировать различные "Tasks" из файла XML в коллекцию задач, которые будут выполняться позже.
Поскольку каждый тип задачи имеет множество различных связанных полей, я решил, что лучше всего представлять каждый тип задачи с отдельным классом.
Для этого я построил абстрактный базовый класс:
public abstract class Task
{
public enum TaskType
{
// Types of Tasks
}
public abstract TaskType Type
{
get;
}
public abstract LoadFromXml(XmlElement task);
public abstract XmlElement CreateXml(XmlDocument currentDoc);
}
Каждая задача наследуется от этого базового класса и включает в себя код, необходимый для создания себя из переданного в XmlElement, а также сериализации себя обратно в XmlElement.
Основные примеры:
public class MergeTask : Task
{
public override TaskType Type
{
get { return TaskType.Merge; }
}
// Lots of Properties / Methods for this Task
public MergeTask (XmlElement elem)
{
this.LoadFromXml(elem);
}
public override LoadFromXml(XmlElement task)
{
// Populates this Task from the Xml.
}
public override XmlElement CreateXml(XmlDocument currentDoc)
{
// Serializes this class back to xml.
}
}
Затем синтаксический анализатор будет использовать код, подобный этому, чтобы создать коллекцию задач:
XmlNode taskNode = parent.SelectNode("tasks");
TaskFactory tf = new TaskFactory();
foreach (XmlNode task in taskNode.ChildNodes)
{
// Since XmlComments etc will show up
if (task is XmlElement)
{
tasks.Add(tf.CreateTask(task as XmlElement));
}
}
Все это прекрасно работает и позволяет мне передавать задачи по кругу, используя базовый класс, сохраняя при этом структуру наличия отдельных классов для каждой задачи.
Однако я не доволен своим кодом для TaskFactory.CreateTask. Этот метод принимает значение XmlElement, а затем возвращает экземпляр соответствующего класса задач:
public Task CreateTask(XmlElement elem)
{
if (elem != null)
{
switch(elem.Name)
{
case "merge":
return new MergeTask(elem);
default:
throw new ArgumentException("Invalid Task");
}
}
}
Поскольку мне нужно разобрать XMLElement, я использую огромный (10-15 случаев в реальном коде) переключатель, чтобы выбрать, какой дочерний класс создать. Я надеюсь, что есть какой-то полиморфный трюк, который я могу сделать здесь, чтобы очистить этот метод.
Какой-нибудь совет?
Java Singleton vs static - есть ли реальное преимущество в производительности?
Я объединяю ветвь CVS, и одним из самых больших изменений является замена, где бы это ни происходило, шаблона Singleton абстрактными классами, которые имеют статический блок инициализации и все статические методы.
Это то, что стоит сохранить, поскольку это потребует слияния большого количества конфликтов, какую ситуацию я бы рассматривал для того, чтобы этот рефакторинг был стоящим?
Мы запускаем это приложение под Weblogic 8.1 (так что JDK 1.4.2)
извините, Томас, позвольте мне уточнить..
версия HEAD имеет традиционный шаблон singleton (частный конструктор, getInstance() и т. д)
ветвь версии не имеет конструктора, является "публичным абстрактным классом" и изменила все методы на объекте, чтобы быть 'static'. Код, который раньше существовал в частном конструкторе, перемещается в статический блок.
Затем все виды использования класса изменяются, что приводит к многочисленным конфликтам в слиянии.
Есть несколько случаев, когда это изменение было сделано.