Привязка данных UI: альтернативы и будущее

Это не поддерживается, но я понимаю, зачем это нужно. Мы не можем передать httpContext промежуточному программному обеспечению в качестве аргумента, потому что мы хотим обеспечить совместимость стандартного промежуточного программного обеспечения Express. Это означает, что единственный вариант - сделать что-то наподобие того, что вы сделали, но в идеале мы должны инкапсулировать это с помощью некоторого помощника.

Нам нужно реализовать что-то вроде следующей функции getHttpContext:

import * as express from "express";
import { getHttpContext } from "inversify-express-utils";

function authMiddlewareFactory() {
  return (config: { role: string }) => {
     return (
         req: express.Request,
         res: express.Response,
         next: express.NextFunction
     ): void => {
         const httpContext = getHttpContext(req);
         const principal: interfaces.Principal = httpContext.user;
         if (!principal.isInRole(config.role)) {
             res.sendStatus(HttpStatus.UNAUTHORIZED);
             return;
         }
         next();
     };
   };
 }

Пока это не реализовано, я не вижу никаких проблем с вашей реализацией, кроме утечки информации внутренних компонентов. 114]

11
задан 3 revs, 3 users 100% 30 April 2012 в 22:40
поделиться

7 ответов

Привязка WPF, хотя хороший слишком сложна, она сочетает функции XPath с нормальной привязкой .NET и является супер гибкой, но очень трудной отладить, когда это становится сложным, и также очень многоречивым - в скольких IValueConverter нуждается одна часть кода?

DependencyObject от WPF является блестящим, хотя - свойство, которое управляет памятью разумно, создало в уведомлении об изменениях - это - хорошее начало для привязки и свойств в целом.

6
ответ дан 3 December 2019 в 08:57
поделиться

Привязка данных в Какао и Objective C очень жива и здорова. Часть этого - то, потому что она создала сверх кодирования значения ключа и наблюдения значения ключа, которые очень серьезны и хорошо продумали функции в Какао. Это также хорошо интегрируется в большом количестве новых технологий, которые Apple разрабатывает, такие как Базовые Данные.

2
ответ дан 3 December 2019 в 08:57
поделиться

Другими платформами, которые поддерживают привязку данных, является Adobe Flex и WPF Microsoft.

1
ответ дан 3 December 2019 в 08:57
поделиться

Привязка данных и модели UI в WPF являются не чем иным как удивительный. Можно связать с методами объектов, связать асинхронно, связать односторонний (из источника для предназначения или наоборот) или с 2 путями направлено и связать с другими элементами UI на экране.

Можно указать DataTemplates, которые управляют, как отображен конкретный тип. Можно определить триггеры, которые позволяют UI изменяться основанный на изменениях в связанных объектах (или в другом месте в UI). Короче говоря, необходимо действительно посмотреть на WPF, если Вы чувствуете, что состоянию представления UI/привязки недостает.

Вот недавнее сообщение, которое иллюстрирует питание WPF, где с помощью основных конструкций можно отобразить карту с координатами на нем.

1
ответ дан 3 December 2019 в 08:57
поделиться

В Python для этого можно использовать Enthought Traits . Вы определяете модель, и эта модель уже содержит все знания и логику, так что вы можете создать для нее редактор с помощью одной строчки кода.

1
ответ дан 3 December 2019 в 08:57
поделиться

Я нахожусь на поздних стадиях проекта переноса кода, сгенерированного AppMaker, из графического интерфейса Macintosh на основе C в WPF.

Стиль генерации кода AppMaker значительно опередил свое время - 15 лет назад он сгенерировал код на основе модели с привязкой данных и подходом на основе свойств. Недостатком кода C является то, что открыта вся внутренняя сеть.

Этот проект был захватывающим - он перенес архитектуру с чистой привязкой и структурой команд (хотя и уродливым кодом) в WPF. На самом деле я написал новый генератор кода AppMaker для экспорта исходной объектной модели в XML и с тех пор работал с Ruby для генерации XAML, C # и C ++ / CLI.

Я очень впечатлен насколько хорошо работает модель привязки данных в WPF, хотя найти золотую середину в том, что добавить в XAML и C #, интересно. Как объяснялось в недавней презентации DevJam , мы выбрали трехуровневый подход:

  1. очень простой XAML для стилизации,
  2. C # для привязки,
  3. C ++ / CLI для реализации ViewModel.

] Я фанат привязки еще с давних времен - моя структура C ++ OOFILE сначала использовала подход привязки для упрощения соединений базы данных с формами в различных структурах графического интерфейса примерно в 1997 году.

В качестве интересного места я приобрел AppMaker от первоначального владельца из США, после нескольких лет сотрудничества, в котором я написал генераторы кода Windows. Кажется почти невероятным, что небольшая компания в Перте, Западная Австралия, со сложным графическим интерфейсом пользователя для переноса, созданным с помощью AppMaker, обнаружит, что оставшийся в мире эксперт по AppMaker живет примерно в 30 милях от нас!

1
ответ дан 3 December 2019 в 08:57
поделиться

SWT / JFace, слой пользовательского интерфейса Eclipse, недавно был расширен с возможностями привязки данных пользовательского интерфейса. See http://wiki.eclipse.org/index.php/JFace_Data_Binding

1
ответ дан 3 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

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