Ответы пользователя по тегу .NET
  • Как организовать архитектуру приложений "Система управления проектами"?

    effetto
    @effetto
    .Net разработчик
    При решении поставленной задачи я рекомендую Вам использовать трехслойную архитектуру.

    Слой представления в Вашем случае - это windows клиент и web клиент.
    Слой домена - это сами объекты предметной области и веб сервисы.
    Слой данных - это маппинг предметной области в бд.

    Слой данных рекомендую организовать на основе Entity Framework 7 (бета), так как последняя версия поддерживает внедрение зависимости. Для учебного проекта будет в самый раз, заодно изучите новую технологию.

    Для предоставления данных рекомендую использовать шаблон Factory и шаблон Репозиторий.

    WPF клиентов я рекомендую цеплять все равно через сервисы, чтобы не нарушать общую архитектуру. Visual Studio сама сгенерирует Вам классы-обертки для вызова сервисов. К их методам Вы уже можете привязываться.

    Более одного контекста нужно создавать когда у Вас имеется гетерогенная структура источника данных. Лучше при проектировании проекта с нуля избегать такой ситуации. Однако во взрослых проектах рано или поздно появляются дополнительные контексты.

    Для пополнения копилки знаний на тему проектирования ПО я настоятельно рекомендую к прочтению Мартина Фаулера - Шаблоны корпоративных приложений. Ответы почти на все Ваши вопросы имеются в данной книге.
    Ответ написан
    Комментировать
  • Task или Thread в C#.NET 4.0 WPF?

    effetto
    @effetto
    .Net разработчик
    Thread (нить, поток) - представляет собой инкапсуляцию потока процессора. Это программная обертка над функционалом вашей системы. Task (задача) - представляет собой единицу работы, которая может быть выполнена параллельно. Использование того или иного инструмента зависит от Ваших задач. Например, если Вам в фоновом режиме надо выполнять операции - Ваш выбор это поток. Если Вам нужно параллельно выполнить вычисления или дождаться выполнения асинхронной операции (например ввода-вывода), то Ваш выбор - задача.
    Ответ написан
    Комментировать