Публикации по теме 'visitor-pattern'


Наследование без расширений
Да, наследование означает добавление или изменение поведения класса подклассом традиционный способ наследования — расширение класса, добавляющее новые методы . Возьмем пример из мира Java расширение этого класса для добавления нового поведения можно сделать напрямую и легко: Ницца ! Но здесь наследование статично, мне нужно создавать новый класс для каждой новой функциональности. Другой способ добавления функциональности пришел из мира шаблонов проектирования, это Шаблон..

Вопросы по теме 'visitor-pattern'

Образец посетителя, уберите необходимость литья
у меня есть вопрос относительно шаблона посетителя, в настоящее время у меня есть две сборки. Моя первая сборка содержит несколько интерфейсов. public interface INode { void Visit(INodeVisitor visitor); } public interface INodeVisitor {...
821 просмотров
schedule 01.07.2023

Оптимальное представление выражений в F#
Я работаю над библиотекой для генерации SQL из выражений LINQ (в основном модифицированное подмножество LINQ-to-SQL). Я использую размеченные союзы для моделирования выражений SQL, но столкнулся с некоторыми (очевидными?) ограничениями. Я хочу...
231 просмотров

Доступны генераторы Java (или байт-кода) AST, чтобы я мог запустить пару посетителей поверх его результата?
Я ищу инструмент, который возьмет либо файл исходного кода .java, либо .class или .jar и проанализирует его, создав AST (абстрактное синтаксическое дерево), чтобы я мог играть с ним. Я намерен создать пару Посетителей, чтобы бегать поверх него....
1250 просмотров

Головоломка производительности Java: классы-оболочки быстрее, чем примитивные типы?
чтобы реализовать некоторые алгоритмы анализа изображений, не слишком беспокоясь о типе данных (т. е. не имея слишком много повторяющегося кода), я настраиваю шаблон посетителя для примитивных массивов в Java. В приведенном ниже примере я определил...
1190 просмотров

шаблон посетителя для производных от шаблона классов
Связанный вопрос: ссылка . В одном из ответов на вопрос выше мне рекомендовали использовать шаблон посетителя для решения некоторых проблем с моей структурой наследования классов. Однако я не уверен, что его можно использовать в моем контексте,...
867 просмотров
schedule 25.12.2022

Двойная отправка при наличии метода, который принимает класс объекта
У меня есть реализация класса Mapper, который принимает объект в качестве параметра в одной из функций map(Object object) . Остальные map(T t) функции принимают Integer или Class и т.д. Когда я пытаюсь передать int, он автоматически...
232 просмотров
schedule 02.09.2022

Как удовлетворить потребность в доступе к конкретным реализациям в сценарии с полиморфизмом?
Я наткнулся на эту проблему, которую я не могу решить должным образом. Вот некоторые пояснения. Код У меня есть эти классы продуктов: public abstract class Product { public int BaseParam {get;set;} } public class SpecificProductA :...
58 просмотров

В чем разница между использованием шаблона Посетитель и отдельного класса?
Я хотел бы знать, в чем разница между шаблоном «Посетитель» и использованием статического метода для выполнения кода по отдельности. Давайте рассмотрим пример, в котором я мог бы вызвать шаблон Посетитель: new...
172 просмотров
schedule 10.04.2023