2010-06-09 5 views
2

Хорошо, я кусаю пулю и решаю попасть во всю культуру Microsoft/C# /. NET, и я собираюсь сделать это, собрав простое (hah!) Приложение.Каковы первые шаги в разработке C#/.NET?

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

Он должен иметь возможность импортировать изображения из файловой системы (и, надеюсь, камеры/сканера), а затем позволить пользователю добавлять текстовую, аудио и другую информацию.

Я планирую хранить изображения и вспомогательную информацию в базе данных. То, что приложение будет делать с указанными данными, не имеет значения (пока).

Имейте в виду, что я абсолютно ничего не знаю о C# или .NET, хотя, будучи старым кодером, я много знаю о многих других вещах и расскажу вам истории и анекдоты, пока вы не успокоитесь :-)

Каковы первые шаги в разработке такого приложения? Я уже определил макеты UI и вероятные потоки процессов, хотя может быть, что среда разработки диктует изменения.

В настоящее время среда разработки XP SP3 + VS2008 (хотя я могу обновить, если это абсолютно необходимо).

Что я должен рассматривать как первый шаг? Есть ли какие-то проблемы, за которые я должен смотреть?

+3

Вы уже haev 400 upvotes из C# тег - я бы себе представить, что вы установите. –

+2

Это меня очень удивляет. Я подозреваю, что большинство из них должны быть объединены в вопросы C#/C/C++ или более общие. ... На самом деле, только что проверил пятерку лидеров, и «общая» причина, похоже, имеет место для всех из них, поэтому я подозреваю, что все. Я не мог сказать разницы между C# и полосой мыла :-) – paxdiablo

ответ

2

Вы решили использовать формы выигрыша или WPF? Я делаю выигрышные формы в течение последних 4 лет, и WPF - отличное открытие для меня, с гибкостью, которую он предоставляет. Он может быть установлен для вашего приложения и различных типов контента, которые вы хотите добавить, и даст вам гибкость, которую выигрышные формы не могут дать.

Что касается фактического развития, я думаю, что загрузка изображений с диска будет первым шагом, показывая им в пользовательском интерфейсе и получая пользовательский ввод для них - вы должны работать с разными объектами и видеть, как структура обрабатывает вещи ,

Учебник по проверке поля, о котором я упоминал в своем комментарии, - here - не сделал этого, но что-то подобное. Вы также можете увидеть код xaml в паре с кодом C#.

После поиска различий между формами выигрышей и WPF я обнаружил, что в WPF отсутствуют некоторые элементы формы формы выигрыша. Подробнее об этом на MSDN (сравнительная диаграмма) и post с марта с более подробной диаграммой.

Также стоит упомянуть, что вы можете включать элементы управления форматированием в приложениях WPF и наоборот, но есть некоторые ограничения.

+0

Если вы говорите, что WPF намного проще, это, вероятно, путь, который я возьму. Это не приложение, которое потребует много энергии под прикрытием, поэтому все, что ускоряет время выхода на рынок, будет хорошим. Ваш второй момент тоже уместен - у меня есть первые три или четыре проворных релиза, намеченных таким образом. – paxdiablo

+0

Это очень xml, как в редактировании, и если вы начинаете с нуля в .NET Framework, это стоит того. Прочитав об этом и сделав забавные вещи вместе с ним, я бы хотел использовать и для разработки работы. Отличным примером является проверка правильности ввода пользователя и способ его автоматического и элегантного управления в отличие от форм выигрыша, где визуальные подсказки для пользователя не включены. – Rox

1

Если вы ищете формы выигрыша, вы легко сможете использовать интерфейс перетаскивания мышью.

Если вы хотите использовать базу данных, чем вы, вероятно, найдете MS-SQL, с которой проще всего сотрудничать. Посмотрите LINQ-2-SQL, он позволяет вам получить доступ к вашей базе данных через слой объектов, просто перетащив ваши таблицы на панель.

Полезные вещи для использования: методы расширения, частичные классы, LINQ (запрос любой коллекции с встроенными lambdas) и даже атрибуты класса/метода.

+1

Лично, видя, что он только начинает с C# /. NET Я бы пропустил WinForms и нырнул прямо в WPF. Но я уверен, что вы можете не согласиться! – Grokys

+0

Совсем не согласен - просто не использовал WPF и предположил, что это один из тех, что были запутаны в сущности из периферийного шума, который я читал об этом. Похоже, я был приятно удивлен. –

+0

Лямбдас, они очень шерстяные окружные прокуроры, не так ли? :-) На самом деле, я не принял решения между WinForms и WPF, я на том этапе, где еще не понимаю различия.Еще одна вещь для меня, чтобы расследовать. – paxdiablo

2

Всего несколько указателей, было бы легко подавить вас, поскольку вы только начинаете с этого технологического стека. Первый шаг, используйте SQLServer 2008 Express, он имеет лучшую способность обрабатывать данные изображения (изображения могут быть сохранены непосредственно в файловой системе, но они все еще находятся в таблице).

Кроме того, вы можете проектировать свой экран с помощью графического интерфейса пользователя, а затем перебирать биты по одному на ваши восстановленные данные. Создайте новое приложение Windows Forms или WPF, и начните с него (я предполагаю, что вы знаете о окне панели инструментов и просто перетаскиваете компоненты в конструктор и устанавливаете их свойства в окне «Свойства»).

+0

Возможно, плохое предположение. Я еще даже не загрузил VS :-) Но я подозреваю, что смогу подобрать его достаточно быстро - я не чужд дизайнерам на основе форм, полагая, что это, по крайней мере, такой же, как VB6. – paxdiablo

+0

Один вопрос, есть ли роялти для распространения SQLServer с приложением? Что касается драйверов, я имею в виду не сам продукт. – paxdiablo

+0

Драйверы являются частью платформы .NET, но наличие встроенного экземпляра SQL-сервера - это то, что вам нужно было бы изучить и может привести к другому решению для базы данных. К счастью, примеры кода C# довольно просты. –

1

My $ 0,02:

а) Узнают платформу немного, типы, коллекции, события/делегатов (/ лямбды), и т.д. и т.п.

б) Погружение в WPF

c) Узнайте о подключении к базе данных (LINQ2SQL или NHibernate (или ....)

d) Узнайте о шаблоне MVVM для доставки твердых приложений wpf, тем самым вы погружаетесь глубже в работу WPF (маршрутизируете команды, туннелирование/пузырение и т. д.)

е) Узнайте больше о шаблонах, чтобы получить более твердое понимание OO (это: http://www.amazon.com/Design-Patterns-Explained-Perspective-Object-Oriented/dp/0321247140/ref=sr_1_1?ie=UTF8&s=books&qid=1276066663&sr=8-1 является абсолютной жемчужиной для этого)

е) и т.д.

+0

Спасибо. Типы и коллекции Я не думаю, что это вызовет много хлопот, исходя из Java b/grnd. Аналогично WPF, если это относительно интуитивно. Lambdas и LINQ потребуют дополнительного образования с моей стороны. – paxdiablo

1

Если вы не слишком отчаянным, чтобы ваши руки я буду предлагать эту книгу: CLR via C#.

Он написан для тех, кто имеет опыт программирования на платформах, отличных от .Net, и предоставляет четкое и всестороннее объяснение C# и то, как он работает в .NET CLR.

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

1
  1. Купить книгу на C# & Основы .NET FW!
  2. Читать! :-)
Смежные вопросы