Использование каркасов / модулей WPF в маломасштабной разработке - PullRequest
1 голос
/ 06 июля 2010

Я прочитал немало постов в SO и в Интернете о преимуществах и возможностях различных платформ WPF (Caliburn, Prism) и модульных платформ (MEF, Unity) и их объединении.

Теоретически, я люблю идеи, стоящие за ними. И я знаю, что, как только я получу представление об этих системах, это может на самом деле увеличить скорость разработки, но первоначальная стоимость средств обучения и сред с таким уровнем сложности кажется высокой.

История проекта:
Я беру 10-летнюю серию баз данных Access (с огромным количеством плохого макрокода) и перепроектирую базу данных. Кроме того, я хочу придумать лучший способ показать и представить эту информацию. Использование Access (2007) - вариант, но я бы не хотел его использовать.

Компания, в которой я работаю, - это компания малого и среднего бизнеса, и у приложения будет около 40-80 одновременно работающих пользователей в течение рабочего дня. Вот почему я хотел бы избежать доступа.

В настоящее время я использую функцию «Сначала модель» в Entity Framework 4 (SQL Server 2008 R2) и .NET 4 (C # / WPF).

Дилемма:
Высокий уровень дизайна для новой базы данных основан на разрешениях (роль - это просто набор разрешений), и я хочу, чтобы пользовательский интерфейс отображал информацию / кнопки редактирования / и т.д. на основе этих разрешений. Если бы я пошел на стандартный подход, код был бы завален заявлениями if / else. Тем не менее, если я выберу большой фреймворк - я чувствую, что это слишком много для того, что в основном является уровнем доступа к базе данных - особенно с учетом высокой начальной стадии обучения. Не говоря уже о том, что я не уверен на 100%, что эти структуры помогут мне, как я полагаю, они будут.

Вопрос:
Я ищу некоторое обсуждение относительно того, стоят ли эти структуры кривой обучения в небольших приложениях типа «слой базы данных».

Кроме того, если они считаются излишними, существуют ли какие-либо структуры, которые МОГУТ помочь с этим типом системы? Я подумал о переводе пользовательского интерфейса в Интернет, который кажется идеальным (и это больше мой опыт).

Спасибо за ваше время.

Ответы [ 2 ]

1 голос
/ 06 июля 2010

Судя по всему, это идеальный кандидат на WCF RIA Services . Затем вы можете использовать выбранную вами презентацию (Silverlight или ASP.NET, в настоящее время) для внешнего интерфейса. В зависимости от конкретного сценария вы можете смешивать и сопоставлять презентацию.

0 голосов
/ 09 июля 2010

Учитывая традиционный подход Caliburn и ваши потребности в безопасности, я думаю, они подойдут. С Caliburn вы можете автоматически подключить управление на основе либо указанного соглашения, либо соглашения, которое запекается. Покажите, что у вас может быть соглашение для Button, где его имя содержит суффикс, который относится к роли, которой разрешено использовать действие. Используя базовую ViewModel, которая предоставляет роль «Пользователи», вы можете использовать Соглашение о включении / отключении кнопки на основе роли пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...