C # архитектура для больших приложений - PullRequest
5 голосов
/ 23 июня 2010

Подскажите, пожалуйста, несколько уроков / книг о мышлении большого приложения на c #. Я работал с 3 уровня, но мне нужно что-то более конкретное:

способ проектирования панелей, так что для конкретных пользователей будут загружаться конкретные панели и конкретные библиотеки управление базой данных, так что когда пользователь изменяет запись, другие не могут изменять эту запись Должен ли я использовать Entity Framework или я должен идти в старую школу с БД и создания классов

Любые ссылки на вышеупомянутые будут с благодарностью

Большое спасибо!

Ответы [ 8 ]

4 голосов
/ 23 июня 2010

Вид широкого предмета, но две книги, которые я бы порекомендовал прочитать независимо от того, на каком языке вы говорите, или от специфики вашего проекта:

Если у вас есть конкретные вопросы о том, как чего-то добиться, я бы опубликовал это здесь или в Google.

3 голосов
/ 22 августа 2012

Поверьте мне, это не будет охвачено ни одной книгой или учебником. Вам необходимо определить структуру пользовательского интерфейса, технологию доступа к данным, шаблоны и общую архитектуру. И, конечно же, вам нужны глубокие знания по .NET framework и тому, как работает CLR. Ничего особенного в C #. Поскольку у вас есть требования к настройке интерфейса (панелей), WPF определенно является лучшим кандидатом для инфраструктуры пользовательского интерфейса.

Это, как говорится -

  • Для C #: Pro C # 2010 и платформы .NET 4

  • .NET & CLR: CLR через C #

  • UI Framework - WPF: Pro WPF в C # 2010

  • Используйте MVVM с WPF. MVVM будет держать вас на пути поддержания Разделение Концерна . Вы можете следовать рекомендациям Microsoft Prism . Для больших приложений со сложными требованиями пользовательского интерфейса Prism - лучший выбор. Возможно, вам придется использовать Dependency Injection. MEF идет рука об руку с MVVM & Prism.

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

3 голосов
/ 23 июня 2010

Sharp Architecture как раз такая архитектура.Это довольно подробно, и в него ушло много работы.

2 голосов
/ 23 июня 2010

Что касается архитектуры панелей / пользовательского интерфейса, может быть полезно взглянуть на Prism (из шаблонов и практик Microsoft). Это архитектура / набор библиотек для обработки составного пользовательского интерфейса, где пользовательский интерфейс загружается во время выполнения и состоит из независимых взаимодействующих частей. Одно замечание: он создан для использования с WPF или Silverlight; существует более старая библиотека с аналогичной функциональностью для WinForms, которая называется « CAB » и больше не поддерживается.

Что касается доступа к данным, похоже, что вы хотите реализовать активную блокировку записи, когда запись открыта для редактирования в пользовательском интерфейсе; это независимая функция от используемого вами кода доступа к данным. Может быть проще реализовать блокировку на уровне базы данных, если вы используете прямой ADO.NET против EF, который добавляет уровни абстракции.

0 голосов
/ 22 августа 2012

Если вы хотите быстро учиться и быстро разбираться в технологиях, я бы порекомендовал получить учетную запись Pluralsight, поскольку она будет охватывать технологии, которые вам понадобятся, и выделять другие, о которых вы, возможно, не слышали.Ежемесячная подписка будет стоить примерно столько же, сколько и приличная книга.

Pluralsight.com

0 голосов
/ 13 января 2012

Я собираюсь написать книгу с такими вопросами: CLR Джеффри Рихтера через C # book. Это займет у вас весь путь от того, как конструкция вашего класса влияет на память в стеке / куче, до лучших практик для подобных обсуждений. Особенно загрузка сборок на лету и лучший способ сделать это.

Это также поднимет ваши навыки на ступеньку выше, и Джефф - великий писатель.

Я рекомендую эту книгу ВСЕМ разработчикам на C #, которых я знаю, и они всегда выходят лучше. Это то, на что мы все надеемся?

Удачи!

0 голосов
/ 23 июня 2010

Microsoft .NET: разработка приложений для предприятия - с очень хорошим примером кода и главой о параллелизме

Professional Enterprise .NET

ASP.NET 3.5 Программирование веб-сайтов: проблема - дизайн - решение

Полагаю, нет никаких онлайн-ресурсов, которые могли бы конкурировать со сложностью этих книг.

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