Что хороший путь состоит в том, чтобы реализовать события в Пассивном Представлении?

Я сделал код для работы со штрих-кодами кода 39 во встроенных системах. Есть два стиля кодов, которые я считаю 39 "обычными" кодами и четырьмя "чудаковами". Обычные коды имеют один из десяти шаблонов ширины стержня (два широких три узких) и один из четырех шаблонов ширины пространства (один широкий три узких). Чудеса имеют пять узких полос и один из четырех шаблонов ширины полос (три широких и один узкий). Чтобы отобразить штрих-код с компактным кодом, преобразуйте символ в число 0–39 (для нормальных кодов) или 40, 50, 60 или 70 для «странных шаров». Затем divmod 10. Верхняя цифра выберет один из восьми шаблонов ширины пространства; если верхняя цифра равна трем или меньше, нижняя цифра выберет один из десяти шаблонов ширины стержня. Если верхняя цифра 4-7, все пять столбцов должны быть узкими.

Код работает очень компактно, используя несколько небольших справочных таблиц. Поскольку справочные таблицы могут быть компактно представлены в виде строк в исходном коде, подходы с большими справочными таблицами могут иметь более короткий исходный код (хотя я думаю, что для Code Golf размер исходного кода должен учитываться в байтах с использованием наиболее подходящего кодирования; подход со строкой странные символы, для хранения которых требуется три байта в UTF-8, и два байта для UTF-16, должны либо «заряжаться» по 3 байта каждый для символов странного шара, либо два байта каждый для всех символов, в зависимости от того, что меньше. Подход, в котором используется выбор нечетных символов, которые полностью помещаются в определенную однобайтовую кодовую страницу, должен оплачиваться по одному байту на символ.

6
задан devghost 5 November 2009 в 17:49
поделиться

2 ответа

Another great resource for learning MVP with WinForms is Jeremy Millers Build Your Own CAB series. I found this incredibly useful when I was learning,

The article on View to Presenter Communication will be useful to you; there is a good discussion here on using events vs making direct calls. Even better, the Event Aggregator article presents a "publish/subscribe" mechanism that can be used instead of events, while keeping the code testable. This is the approach that I personally prefer, and have had good success with.

3
ответ дан 17 December 2019 в 18:17
поделиться

Посмотрите этот пример реализации пассивного просмотра. У него есть хороший способ подключения / отключения событий между представлением и контроллером, который возлагает большую часть работы на контроллер.

0
ответ дан 17 December 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: