Короткий посібник з програмування на c #

Короткий посібник з програмування на c #

Мета статей цього циклу проста - швидко, але ефективно впровадити в мозок Новомосковсктеля знання про мову програмування C # (C Sharp, Сі Шарп). Природно, що зроблено це буде в тому ж ключі, як і у випадку з іншими оглядами на цьому ресурсі: з акцентом на основні моменти і коротким описом того, де потрібно шукати деталі. Хоча, як мені здається, все необхідне має бути тут - в інформаційному on-line сервісі msdn.

Я вважаю, що нижченаведені матеріали не слід сприймати, як еталон технічного оповідання про мову програмування C #, але вже чого вони точно будуть позбавлені - це малозначущих, але займають багато місця деталей, самозамилування і хвалебних пісень творцям C # в тому числі і Microsoft .Net Framework в цілому, хоча останні, як мені здається, на це заслуговують. І ще, я постараюся не писати про те, наскільки світ став кращим з появою таких чудових технологій - про це вже і так багато написано, та й оцінити цей якісний ріст можна тільки на практиці.

Пару слів про мову програмування C #

Для кого цей курс програмування

Курс програмування C # Quick Guide # 0153 ;:

Отже, всю розповідь буде розділене на 7 частин, знайомитися з якими можна в будь-якому порядку, але краще все-таки по черзі:

Класи, структури, поля, властивості і методи. Описано процес проектування основних компонентів геоінформаційної системи на C #: від точки на площині до базових об'єктів просторових даних. Наведені приклади абстрактних класів, реалізації поліморфізму на основі віртуальних методів і простого перевизначення функціональності базового класу. У висновку дано короткий огляд можливостей структур і їх відмінностей від звичайних класів.

Інтерфейси. Розглянуто архітектура найпростішої підсистеми роботи з геоінформаційних сховищем. Описано механізм дворівневої реалізації інтерфейсів: специфікація реалізації на рівні абстрактного класу і визначення поведінки на рівні похідних класів. У висновку коротко описана роль інтерфейсів в об'єктно-орієнтованому програмування на C #.

Універсальні типи. Тут можна дізнатися про те, що таке універсальний тип, і які особливості реалізації універсальних типів присутні в мові C # в порівнянні з універсальними типами Java і шаблонами C ++. Далі описаний процес визначення універсального типу - колекції об'єктів просторових даних геоінформаційної системи. Також, ви дізнаєтеся, що таке коваріантність і контрваріантность в контексті універсальних типів.

Делегати і події - це основний інструмент об'єктно-орієнтованих мов програмування для організації взаємодії різних об'єктів на базі механізму зворотних викликів. Делегати розглядаються на прикладі архітектури підсистеми лінійних перетворень просторових даних і формування їх графічного представлення. Події в C # є надбудовою над делегатами, і в відповідному розділі розповідається про те, для чого ця надбудова потрібна.

Винятки та інші важливі моменти. Конструкції для обробки виняткових ситуацій - це саме ті кошти, які дозволяють описати поведінку ваших програм в цих самих виняткових ситуаціях. Без винятків створити якісну і стійку до збоїв програму вкрай складно. Велика кількість прикладів дозволить вам усвідомити всю гнучкість механізму обробки винятків, закладеного в мові програмування C #.

Паралельні обчислення. Без можливості паралельних обчислень досить складно написати оптимальні в частині використання ресурсів операційної системи і адекватні в плані спілкування з користувачем програмні додатки. Мова C # надає вельми широкий арсенал засобів організації паралельних обчислень від пулу потоків до засобів їх диспетчеризації, і практично всі вони коротко представлені в цьому розділі на прикладі демонстраційної програми.

Коротко про те, що залишилося за кадром. У цьому заключному розділі зібрані матеріали, що стосуються програмування на C #, які не ввійшли в перші 6 частин, але також заслуговують на окрему увагу. До них відносяться такі питання, як приведення і перетворення типів, робота з масивами, текстовими файлами, базами даних, регулярними виразами, LINQ запити і багато іншого.

P.P.S.
Крім прочитання матеріалів цього циклу статей, є сенс також познайомитися зі статтею про "розширення свідомості" програмних продуктів з використанням C # і вже точно не завадить познайомитися з основами теорії написання чистого коду - рефакторингом коду і проектування прозорою архітектури програмних продуктів - шаблонами проектування.