разработка windows приложений



Автор Ёлава Алексейчик задал вопрос в разделе Другие языки и технологии

посоветуйте пожалуйста книги по разработке виндовс приложений на C# и и получил лучший ответ

Ответ от Александр Свиридов[гуру]
Трэй Нэш "C# 2008 Ускоренный курс для профессионалов".
Джефри Рихтер "CLR via C#".
И что-нибудь по LINQ.
Честно говоря я ожидал от книг по C# большего, они объясняют как работает C# но не ответят на вопрос как вам написать своё приложение.
Базы данных - отдельная дремучая тема. Удобнее всего работать с ними применяя ORM вроде Linq to SQL или entity Framework, или NHibernate.
Разновидностей ORM можно сказать две. Первая unit of work, вторая active record.
1) UoW. Вся работа с базой происходит в пределах единицы работы. Происходящие изменения в базе данных сохраняются в самом конце. Представьте что вы загрузили в базу 500 000 документов. Вся эта работа происходит в оперативной памяти, и в самом конце вы пишете SubmitChanges или SaveChanges. Здесь UoW фреймворк от MS начинает вливать в базу все строки, и вариантов развития сюжета два. Происходит сбой, либо сбоя нет.
2) Active Record. Работает предельно приближенно к мышлению человека. Вы пишете команду, она тут же выполняется над базой данных. Но увы, Microsoft такое не проталкивает. И хороших качественных редакторов по созданию подобных привязок кода к базе данных не существует. Active Record реализован в NHibernate, а тот в свою очередь сложен и вряд ли новичок извлечёт из него пользу.
Так как в UoW все операции выполняются отложенно, вы не можете использовать хранимые процедуры для изменения данных. И хотя хранимые процедуры здорово повышают производительность, это противоречит идеологии Microsoft. Кто знает, вероятно LINQ в целом плохая технология. И служит только для привлечения клиентов (?).
Для Active record такой проблемы нет.
Однако, все ORM лишь адаптируются под базы данных. Если вы используете ADO . NET то у вас полно вариантов реализовать задачу. ORM стесняет разработчика до объектной модели. Есть существенные сложности использования триггеров.
Ещё момент. Вы решили удалить 500 строк. Сперва извлекаете 500 объектов потом удаляете их. Итого будет выполнено 1+500 запросов (извлечение, затем каждый по отдельности удаляем) . На голом АДО получаем 1 запрос. И ещё учтите особенности LINQ и его "деревьев выражений". Они постоянно компилируются, и на 2-х ядерном Core2Duo E6750 98% времени занимает именно компиляция запросов. На скорости сказывается фатально. Не более 80 запросов / сек при 100% загрузке процессора. Тогда как голый ADO . NET даёт 2800 запросов/сек где 2% занимает работа самого ADO. В NHibernate применение LINQ не обязательно так как там есть свой язык запросов. В стороннем фреймворке BL-Toolkit оптимизацией была решена проблема перегузки при компиляции деревьев. Однако без ORM всё будет выглядеть довольно не красиво. Вот такие дела. LINQ конечно сахар, но им легко отравить свою программу.
ещё есть вариант связи программы с SQL - привязки на уровне ADO . NET, там будет без объектной идеологии. Но про это рассказать не могу так как не использовал. Фактически это те же способы которые применяют в Delphi при работе с Firebird. Они ORM не любят.

Ответ от Sysadmin_sva[гуру]
Начать с основ C#, читать, например, Шилдта (я предпочитаю его справочники и руководства - не фонтан, но для начала ничего) . Троелсона ещё рекомендуют (сам не читал) . Там будет в основном про консольные приложения, возможно немного про окошки. Окошки в C# бывают разные: Windows Forms и WPF. По Windows Forms мне понравилась книга Erik Brown "Windows Froms programming with C#", книга старая, видел её только на английском, но лучшая из того чем я пользовался. По WPF (Windows Presentation Foundation) особо и выбора нет: либо Петцольд, либо Мак-Дональд. Читать, пожалуй, стоит обе, они немного по разному освещают технологию.
По базам данных ничего и не посоветую - сам не знаю. Думаю надо искать что-то по ADO.NET, Entity Framework, хотя могу ошибаться.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: посоветуйте пожалуйста книги по разработке виндовс приложений на C# и
Универсальное приложение Windows на Википедии
Посмотрите статью на википедии про Универсальное приложение Windows
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*