20 / 20 / 12
Регистрация: 15.05.2012
Сообщений: 168
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Разработка триггера18.06.2018, 21:58. Просмотров 495. Ответов 2
Метки нет Все метки)
(
Доброго вечера, форумчане.
Разрабатываю свою маленькую софтинку и столкнулся с небольшим казусом, а точнее хочу идеала, но чувствую, что не могу к нему придти. Суть такова, моя программа является промежуточным звеном между сервером и клиентом и как прокси-сервер пропускает через себя пакеты. Я захотел создать некую возможность создавать триггеры - то есть отвечать на сервер/клиент если данные из пакета будут соответствовать заданным условиям. Все сделал, все работает, но чувствую, что сделал не по всем законам ООП. Так же основная задача пополнять вручную эти триггеры и ответы на них. То есть чтобы через визуальный конструктор можно было создать триггер, в него добавить условие срабатывания и действия, которые будут выполняться. Чтобы внести чуть наглядности - немного кода: Базовый класс триггеров Содержит условие и список действий. Первый минус, что условие одно, а не несколько. В коде понятно, что Execute вызывает лист задач, а Match проверяет условие из наследуемых классов.
По сути это просто хранилище данных пакета с которым сравниваются входящие данные, что ни есть хорошо посколько ограничивается список возможных условий.
Банальный интерфейс, содержащий Action (действие), которое будет вызываться, саму процедуру вызова и динамично изменяющиеся данные, которые возможно нужно поправить в Action пере вызовом (динамичность - это тоже плохо)
Во первых проблема в обобщении, прямое обобщение типа BaseTriggerModel<ObjectMove> не позволит добавлять этот триггер в список List<BaseTriggerModel<Packet>>, хоть тип Packet и является базовым от ObjectMove. (Кто знаком с обобщениями поймут). Поэтому приходится приводить к типу напрямую, что как по мне тоже моветон.
Согласно вышеизложенного хотел бы критики и советов как правильнее было бы провести реализацию, где главная заточка идет на то, что можно устанавливать разные взаимосвязи между определенными условиями и списком действий. Спасибо
0
|
|
18.06.2018, 21:58 | |
Создание триггера Работа триггера Обработка срабатывания триггера добавление триггера к существующему шаблону |
|
248 / 161 / 68
Регистрация: 10.12.2017
Сообщений: 558
|
|
19.06.2018, 14:30 | 2 |
0
|
Модератор
![]() |
|
19.06.2018, 16:12 | 3 |
skew, посмотрите в сторону этого шаблона. Исходя из вашего описания, он может помочь в вашей задаче.
0
|
19.06.2018, 16:12 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Вывод сообщения из триггера в программе Реализация триггера в системе продаж
Ошибка триггера обработчика событий Firebird программно определить наличие генератора и триггера Создание триггера в представлении MS SQL Server 2014 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |