Лучшие практики проектирования и реализации API на C#

  • Overview
  • Curriculum
  • Instructor
  • Review

About This Course

Изучите лучшие практики проектирования и реализации API, сформированные мировым .NET-сообществом

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

Прокачайте понимание ООП в контексте написания чистого кода и построения типов высокого качества:

  • изучите характеристики хорошо спроектированного типа

  • изучите принципы разработки удобного API

  • пишите чистый код, избавьтесь от неприятных запахов

  • узнайте в чём настоящая цель исключений, как их выбрасывать и как обрабатывать

  • защитите ваши типы от некорректного использования посредством грамотной инкапсуляции

Основы построения объектно-ориентированных инфраструктур

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

Возможно, вы слышали об одном весьма известном утверждении: "большинство программного кода - отстой". Этот курс полностью посвящён тому как писать хороший код, а не отстойный.

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

Содержание и обзор

Этот курс направлен на любых C# программистов, от новичков до профессионалов. Темы, которые освещены в курсе релевантны для всех C# программистов, поскольку все программисты проектируют и реализуют различные API. Сложность тем довольно разная: от простейших до сложных, требующих серьёзных познаний в C#. По ходу курса мы разберём множество примеров кода, таким образом вы будете изучать как теоретический так и практический материал.

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

Затем мы перейдём к понятию инкапсуляцию. Что означает инкапсуляция и как инкапсулировать тип? Мы познакомимся с компромиссами, возникающими при инкапсуляции типов. Как ни странно, множество программистов не понимают что же такое инкапсуляция на самом деле. Изучив тему инкапсуляции, вы научитесь строить непротиворечивые и надёжные типы.

После этого, вы познакомитесь с проблемой обработки исключений. Да, это крепкий орешек. Мы начнём с обсуждения того почему мы вообще используем механизм исключений для обработки ошибок. И по какой причине команда C# не внедрила в язык какой-либо другой способ работы с ошибочными ситуациями?

В конце курса,вы познакомитесь с методиками борьбы против null-значений. Как, наверное, вы слышали, Тони Хоар называл проблему нулевых ссылок проблемой на миллиард долларов.

Вкратце, курс покрывает следующие темы:

  • Принципы разработки API

  • Как давать хорошие имена для членов API и какие соглашения именования существуют на платформе .NET

  • Распространённые проблемы проектирования и реализации API: классы vs структуры, абстрактный класс vs интерфейс, порождающие паттерны vs конструкторы, реализация паттерна Dispose (освобождение ресурсов)

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

  • Борьба против нулевых ссылок. Null-значения всегда были ещё той головной болью. NullReferenceException это очень частый гость в ПО. Мы посмотрим на различные пути уменьшения разрушительной силы нулевых ссылок.

Зачисляйтесь на курс и прокачайтесь в проектировании и реализации типов на C#!

  • Проектировать и реализовывать типы, заботясь о пользователях API

  • Инкапсулировать типы таком образом, чтобы другие программисты вас не возненавидели

  • Писать код в хорошем стиле, раскрывая его намерения

Course Curriculum

1 Lectures

1 Lectures

Instructors

Profile photo of Илья Фофанов
Илья Фофанов

Я благодарен за то, что люблю своё дело.Начинал карьеру, будучи аспирантом, участвуя в конкурсе программных проектов от Майкрософт - ImagineCup.Работал с платформой .NET с 2003 года. Профессионально занимался проектированием и реализацией ПО больше 10 лет, преимущественно на платформе .NET. Люблю работать над созданием богатых и мощных приложений с использованием современных технологий. Сертифицированный специалист по WPF и WCF. Один из координаторов...

Instructors

Profile photo of DevSchool • Progressive Training Solutions
DevSchool • Progressive Training Solutions

English:We produce the best software development courses aimed at students with different skills. Our courses are concise and informative. No fluff, no ranting, only the most useful information from experienced software developers and renowned leaders in the field of programming.Russian:Мы делаем лучшие видео курсы по программированию для студентов с разным уровнем знаний и навыков. Наши курсы кратки и информативны: без...

More Courses By Илья Фофанов, DevSchool • Progressive Training Solutions
Review
4.9 course rating
4K ratings
ui-avatar of Сергей Фалько
Сергей �.
3.5
3 years ago

Было тяжело воспринимать мало выразительный тон диктора. Именно голос диктора, а не лектора. Думаю, идея прибегнуть к услугам стороннего переводчика (чтеца), была не самой лучшей.
В блоке 6 первая и последняя лекции из предыдущего раздела (ошибка монтажа).
В остальном было интересно и полезно познакомиться с материалом.
Спасибо.

  • Helpful
  • Not helpful
ui-avatar of Dmitrii Zlobin
Dmitrii Z.
5.0
4 years ago

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

  • Helpful
  • Not helpful
ui-avatar of Игорь Владимирович
Игорь �.
1.0
4 years ago

Преподаватель начинает спамить неотносящимся к курсам контентом, на замечания удаляет сообщения

  • Helpful
  • Not helpful
ui-avatar of Aleksandr Laperdin
Aleksandr L.
5.0
4 years ago

Отличный курс. Выжимка информации о чистом коде и проектировании.

  • Helpful
  • Not helpful
ui-avatar of Evgeny Makhankov
Evgeny M.
3.0
4 years ago

Мало материалов. В приложениях нет слайдов и кусков кода представленных в лекциях.

  • Helpful
  • Not helpful
ui-avatar of Mikhail Pestov
Mikhail P.
3.0
5 years ago

Нужно больше практических применений

  • Helpful
  • Not helpful
ui-avatar of Rosina Baranovska
Rosina B.
5.0
5 years ago

It is a really good course the same as all courses of the instructor. I have completed more than 3 courses of this instructor and have got the new job position - middle .net QAA. Thank you Илья Фофанов! you make a good product!!!

  • Helpful
  • Not helpful
ui-avatar of Елена Филиппова
Елена �.
5.0
5 years ago

Подходит, потому что помогает упорядочить и систематизировать существующие знания. Помогает подвести итоги.

  • Helpful
  • Not helpful
ui-avatar of Nursultan Orynbayev
Nursultan O.
5.0
5 years ago

Ничего не понятно, но очень интересно!

  • Helpful
  • Not helpful
ui-avatar of Коля Тишаев
Коля �.
4.0
5 years ago

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

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses