Я прочитал немало постов в 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%, что эти структуры помогут мне, как я полагаю, они будут.
Вопрос:
Я ищу некоторое обсуждение относительно того, стоят ли эти структуры кривой обучения в небольших приложениях типа «слой базы данных».
Кроме того, если они считаются излишними, существуют ли какие-либо структуры, которые МОГУТ помочь с этим типом системы? Я подумал о переводе пользовательского интерфейса в Интернет, который кажется идеальным (и это больше мой опыт).
Спасибо за ваше время.