2010г
416 страниц
Второе издание этой книги Инфраструктура программных проектов: соглашения, идиомы и шаблоны для многократно используемых библиотек .NET. Цвалина позволяет разработчикам освоить лучшие приемы разработки многократно используемых библиотек для Microsoft .NET Framework. Расширенное и обновленное для .NET 3.5, это новое издание фокусирует внимание на разработке тех частей, которые непосредственно определяют применение в программах библиотеки классов, особенно общедоступных API.
Эта книга облегчит работу любого .NET-разработчика, который разрабатывает код, предназначенный для других разработчиков. Она содержит аннотации к правилам, принадлежащие тридцати пяти выдающимся архитекторам и программистам .NET Framework, оживленные обсуждения причин, по которым были введены данные правила, а также примеры, показывающие, когда можно нарушить обсуждаемые правила.
Архитекторы программных продуктов, основанных на технологиях Microsoft, Кржиштоф Цвалина и Брэд Абрамс учат искусству разработки инфраструктур "сверху вниз". Их опыт и глубокая проницательность позволят вам изучить следующие темы.
Общая философия и фундаментальные принципы разработки инфраструктур
Основные правила именования различных частей инфраструктуры
Правила разработки и расширения типов и их членов
Вопросы, связанные с выпусками, и руководство по расширяемости
Как следует (и как не следует) разрабатывать исключения
Руководство (и примеры) разработки общих шаблонов
Правила в этой книге представлены в четырех главных видах: НАСТОЯТЕЛЬНО РЕКОМЕНДУЕМ, РЕКОМЕНДУЕМ, НЕ РЕКОМЕНДУЕМ и НАСТОЯТЕЛЬНО НЕ РЕКОМЕНДУЕМ.
Эти указания помогают сфокусировать внимание на тех методах, которые должны применяться всегда, которые должны применяться как правило, которые должны применяться редко, а также на тех, которые никогда не должны применяться. Для каждого правила описана область его применимости, причем в большинстве случаев приводятся примеры кодов, помогающие проиллюстрировать обсуждаемое правило.
Второе издание книги является единственным общепризнанным ресурсом лучших методов разработки управляемого кода API, написанным самими разработчиками.
Сопровождающий DVD содержит серию видеоуроков Designing .NET Class Libraries, авторские инструкции-презентации по разработке принципов разработки классов и компонентов, расширяющих .NET Framework. Включен также пример спецификации API и другие полезные ресурсы и инструменты.
Об авторах
Кржиштоф Цвалина — главный менеджер по разработке программ в группе .NET Application Frameworks Core в Microsoft. Он отвечал за разработку большей части API инфраструктуры Framework, а также же за разработку правил разработки инфраструктуры .NET.
Брэд Абрамс — менеджер производственного подразделения (Product Unit Manager) в команде Application Framework фирмы Microsoft. Он был автором .NET Application Frameworks, Common Language specification, а также библиотеки классов для спецификации ECMA CLI.
"Поддерживаемая лидерами и ведущими авторитетами в области наиболее важных технологий Microsoft, эта серия написана группой авторов, которые глубоко разбираются в индустрии и являются ведущими архитекторами и разработчиками программного обеспечения не только в Microsoft, но и среди гораздо большего сообщества разработчиков."
Дон Бокс - Архитектор, Microsoft
"Это замечательный ресурс для профессиональных разработчиков продуктов для .Net. В нем рассмотрены все основы, от видения перспектив до ссылок и методик. Книги этой серии являются базовыми для тех, кто хочет осознанно расширить свои базовые знания и опыт."
Джон Монтгомери - Главный менеджер группы разработки программ, Developer Division, Microsoft
"Эта книга — одна из тех книг, которую на различных уровнях могут читать разработчики самых разнообразных программных продуктов. Независимо от того, проектируете вы эффективную объектную модель или хотите лучше понять .NET Framework, заимствовать опыт программистов-гуру, избежать самых общих ошибок программирования или только получить представление об огромных усилиях, потребовавшихся для разработки .NET, эта книга — обязательное чтение."
Франческо Балена (Francesco Balena), The VB Migration Partner Team (www.vbmigration.com) - Архитектор программного обеспечения, автор и Региональный директор Microsoft, Италия
"Инфраструктуры являются ценными, но известно, насколько трудно их создать: каждое решение, принимаемое при их создании, должно быть приспособлено к простоте их правильного использования и затруднять их неправильное использование. Эта книга последовательно проведет вас через рекомендации, которые устраняют многие из основных трудностей, по поводу которых мы так часто говорим «мне жаль, что я не знал это ранее. Мне жаль, что я не читал эту книгу ранее.»"
Пол Бесли (Paul Besly), Главный технолог QA
"После книги Брукса Мифический человеко-месяц самый главный разработчик программ своего времени написал книгу, столь полную важных советов для современного разработчика программ. У этой книги есть постоянное место на моей книжной полке, и я часто консультируюсь с ней."
Джордж Беркит, старший инженер-программист Genomic Solutions
"Обновленная с учетом новых языковых возможностей .NET Framework 3.0 и 3.5, эта книга продолжает быть критическим ресурсом для разработчиков и архитекторов .NET, которые проектируют инфраструктуры — библиотеки классов. Некоторые из существующих рекомендаций были расширены новыми замечаниями и большим количеством деталей, а также новыми советами, освещающими также такие особенности, как методы расширения и пустые (nullable) типы. Руководство поможет любому разработчику писать более чистый и более понятный код, в то время как замечания дают неоценимое понимание некоторых из решений разработчиков, которые сделали .NET Framework тем, чем она является сегодня."
Скотт Дорман, Microsoft MVP и Президент Международной ассоциации архитекторов программного обеспечения (Tampa Bay International Association of Software Architects)
"Содержащая информацию, полезную для разработчиков и архитекторов всех уровней, эта книга предоставляет практические рекомендации и самую важную информацию, которая помогает понять правила. Рекомендации по разработке инфраструктуры поднимают уже изданные рекомендации на более высокий уровень, а это необходимо, чтобы писать приложения, которые хорошо интегрируются в области .NET."
Кристоф Фальк, инженер-программист
"Чтение этой книги — насущная необходимость для всех .NET-разработчиков. Она дает ясные советы, как делать и чего не делать при проектировании библиотеки классов для .NET. Она также помогает понять дизайн и принципы создания .NET, что действительно помогает разработчикам понять причины, почему вещи являются такими, какими они есть. Эта книга поможет разработчикам проектировать их собственные библиотеки классов, а также поможет им более эффективно использовать библиотеку классов .NET в своих интересах."
Джеффри Рихтер, Автор/тренер/консультант, Wintellect
"Второе издание этой книги дает новое, важное понимание проектирования ваших собственных библиотек классов: Aбрамс и Цвалина откровенно обсуждают добавление новых возможностей к новым версиям их продуктов с минимальным воздействием на написанный ранее код. Вы найдете замечательные примеры того, как создать версию N+1 вашего программного обеспечения, изучая, как группа, разработавшая библиотеки классов .NET, создала версии 2.0, 3.0 и 3.5 библиотеки .NET. Они смогли добавить универсальные средства, WCF, WPF, WF, а также LINQ с минимальным воздействием на существующие API, даже обеспечивая возможности для клиентов, желающих использовать только некоторые из новых возможностей, и поддерживая совместимость с первоначальной библиотекой."
Билл Вагнер (Wagner), Основатель и консультант SRT Solutions - автор книг Effective C# и More Effective C#
"Эта книга — необходимое чтение для всех архитекторов и разработчиков программ, думающих об инфраструктурах. Книга помогает понять некоторые решающие факторы дизайна .NET Framework. Нужно полагать, что это обязательное чтение для любого программиста, работа которого связана с созданием прикладных инфраструктур."
Оглавление книги
Инфраструктура программных проектов: соглашения, идиомы и шаблоны для многократно используемых библиотек .NET"
Об авторах
1. Предисловие
2. Основные принципы разработки инфраструктуры
3. Рекомендации по обозначениям
4. Рекомендации по разработке типов
5. Проектирование членов
6. Проектирование с целью расширяемости
7. Исключения
8. Рекомендации по использованию
9. Общие шаблоны проектирования
A Соглашения о стиле кодирования в C#
Б Использование FxCop для проверки рекомендаций по разработке инфраструктур
В Пример спецификации API
Глоссарий
Список рекомендуемой литературы