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

所在平台: Udemy

课程主页: https://www.udemy.com/course/apicsharp/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**C# API 设计与实现最佳实践课程总结** 本课程旨在帮助 C# 开发者,无论新手还是专家,掌握设计和实现高质量 API 的核心原则。课程强调编写可读、可理解、可靠的代码,并深入探讨面向对象编程(OOP)在构建高质量类型中的应用。 **核心学习目标:** * **设计优质类型:** 理解何为一个设计良好的类型,并学习如何构建它们。 * **API 设计原则:** 掌握创建用户友好型 API 的关键原则。 * **编写干净的代码:** 消除不良代码气味,提升代码质量。 * **异常处理:** 深入理解异常的真正目的,掌握如何有效抛出和处理异常。 * **封装:** 通过恰当的封装保护类型免受不当使用。 * **面向对象基础设施:** 学习构建面向对象基础设施的基础知识。 **课程内容概览:** 课程将从类型设计原则和特征入手,涵盖 API 成员的命名规范,强调方法参数数量的重要性,讨论传递布尔参数的陷阱等。 随后,课程将深入讲解**封装**,解释其含义、实现方式以及设计时的权衡。通过学习封装,您将能够构建一致且健壮的类型。 接下来,课程将聚焦**异常处理**这个复杂的主题,探讨我们为何使用异常机制处理错误,以及 C# 语言在这方面的设计考量。 最后,课程将介绍**应对 null 值**的策略。鉴于 null 引用问题造成的巨大影响(被誉为“十亿美元的错误”),本课程将提供多种减少 null-causing 问题的途径。 **主要涵盖主题:** * **API 设计原则:** 包括 .NET 平台成员命名约定。 * **API 设计与实现中的常见问题:** * 类(Class)与结构体(Struct)的选择。 * 抽象类(Abstract Class)与接口(Interface)的对比。 * 工厂模式(Factory Patterns)与构造函数(Constructors)的运用。 * Dispose 模式的实现(资源释放)。 * **错误处理:** 分析基于异常的错误处理在开发健壮软件中的挑战,并提供解决方案。 * **对抗 Null 引用:** 讨论 `NullReferenceException` 的常见性,并探索减少 null 引用破坏性影响的方法。 **适用人群:** 本课程适用于所有 C# 程序员,从初学者到资深开发者,因为所有 C# 程序员都会涉及 API 的设计与实现。课程内容难度适中,理论与实践相结合,通过大量代码示例加深理解。 **建议:** 加入本课程,提升您的 C# 类型设计和 API 实现能力,成为更专业的开发者!

课程评论(0条)

课程详情

Проектируйте и разрабатывайте типы на C# таким образом, чтобы другие разработчики вас не ненавидели, используя их. В этом курсе, вы научитесь писать код высокого качества: читаемый, понятный и надёжный. Прокачайте понимание ООП в контексте написания чистого кода и построения типов высокого качества: изучите характеристики хорошо спроектированного типаизучите принципы разработки удобного APIпишите чистый код, избавьтесь от неприятных запаховузнайте в чём настоящая цель исключений, как их выбрасывать и как обрабатыватьзащитите ваши типы от некорректного использования посредством грамотной инкапсуляции Основы построения объектно-ориентированных инфраструктур Несмотря на всю мощь C#, можно очень часто видеть плохо спроектированные и реализованные типы в реальной жизни. По факту, C# является одним из богатейших языков по своим возможностям среди объектно-ориентированных языков в настоящее время. Но с большой силой приходит большая ответственность. Довольно сложно использовать все возможности грамотно. Возможно, вы слышали об одном весьма известном утверждении: "большинство программного кода - отстой". Этот курс полностью посвящён тому как писать хороший код, а не отстойный. Владение навыками написания хорошо спроектированных и реализованных типов является условием для того, чтобы считаться профессионалом. Содержание и обзор Этот курс направлен на любых C# программистов, от новичков до профессионалов. Темы, которые освещены в курсе релевантны для всех C# программистов, поскольку все программисты проектируют и реализуют различные API. Сложность тем довольно разная: от простейших до сложных, требующих серьёзных познаний в C#. По ходу курса мы разберём множество примеров кода, таким образом вы будете изучать как теоретический так и практический материал. Начав с характеристик и принципов по которым проектируются типы, мы пойдём дальше, изучая грамотное именование членов API, важность небольшого количества параметров метода, проблему передачи булевых параметров в методы и множество других тем. Затем мы перейдём к понятию инкапсуляцию. Что означает инкапсуляция и как инкапсулировать тип? Мы познакомимся с компромиссами, возникающими при инкапсуляции типов. Как ни странно, множество программистов не понимают что же такое инкапсуляция на самом деле. Изучив тему инкапсуляции, вы научитесь строить непротиворечивые и надёжные типы. После этого, вы познакомитесь с проблемой обработки исключений. Да, это крепкий орешек. Мы начнём с обсуждения того почему мы вообще используем механизм исключений для обработки ошибок. И по какой причине команда C# не внедрила в язык какой-либо другой способ работы с ошибочными ситуациями? В конце курса,вы познакомитесь с методиками борьбы против null-значений. Как, наверное, вы слышали, Тони Хоар называл проблему нулевых ссылок проблемой на миллиард долларов. Вкратце, курс покрывает следующие темы: Принципы разработки APIКак давать хорошие имена для членов API и какие соглашения именования существуют на платформе.NETРаспространённые проблемы проектирования и реализации API: классы vs структуры, абстрактный класс vs интерфейс, порождающие паттерны vs конструкторы, реализация паттерна Dispose (освобождение ресурсов)Обработка ошибок. Крайне проблематично разрабатывать надёжное ПО, в котором обработка ошибок основана на исключениях. Мы выясним почему это так и как бороться с проблемами обработки ошибокБорьба против нулевых ссылок. Null-значения всегда были ещё той головной болью. NullReferenceException это очень частый гость в ПО. Мы посмотрим на различные пути уменьшения разрушительной силы нулевых ссылок. Зачисляйтесь на курс и прокачайтесь в проектировании и реализации типов на C#!

课程标签

0人关注该课程

主题相关的课程