Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







public sealed class BitArray





{

// Это метод-аксессор get индексатора.

public Boolean get_Item(Int32 bitPos) { /*... */ }

// Это метод-аксессор set индексатора.

public void set_Item(Int32 bitPos, Boolean value) {/*... */ }

}

Компилятор автоматически генерирует имена для этих методов, добавляя к Item префикс get_ или set_. Поскольку синтаксис индексаторов в С# не позволяет разработчику задавать имя, создателям компилятора С# пришлось выбирать имя методов-аксессоров, и они выбрали Item. Поэтому имена созданных компилятором методов — get_item и set_item.

Изучая справочник.NET Framework Reference, достаточно найти свойство Item, чтобы сказать, что данный тип поддерживает индексатор. Так, тип System.Collections.GenericList предлагает открытое свойство-экземпляр Item, которое является индексатором объекта List.

Программируя на С#, вы никогда не увидите имя Item, поэтому выбор его компилятором обычно не должен вызывать беспокойства. Но, если вы конструируете индексатор типа, который будет доступен программам, написанным на других языках, возможно, придется изменить имена аксессоров индексатора (get и set).

С# позволяет переименовать эти методы, применив к индексатору пользовательский атрибут SystemRuntime.CompilerServicesIndexerNameAttribute. Например:

using System;

using System.Runtime.CompilerServices;

Public sealed class BitArray

{

[IndexerName("Bit")]

public Boolean this[Int32 bitPos]

{

// Здесь определен по крайней мере один метод-аксессор.

}

}

Теперь компилятор сгенерирует вместо методов get_item и set_item методы get_Bit и set_Bit. Во время компиляции компилятор С# обнаруживает атрибут IndexerName и узнает, как именовать метаданные методов и свойств; сам по себе атрибут не создается в метаданных сборки.1

В С# в одном типе можно определять несколько индексаторов при условии, что они принимают разные наборы параметров. В других языках программирования атрибут IndexerName позволяет определять несколько индексаторов с одинаковой сигнатурой, поскольку их имена могут отличаться. Однако С# не допускает этого, так как принятый в нем синтаксис не ссылается на индексатор по имени, а значит, компилятор не будет знать, на какой индексатор ссылаются. Попытка компиляции следующего исходного текста на С# заставляет компилятор генерировать сообщение об ошибке «error CSO111: Class 'SomeType' already defines a member called 'this' with the same parameter types» («ошибка CSO111: в классе 'SomeType' уже определен член 'this' с таким же типом параметра»).

using System;

using System.Runtime.CompilerServices;

Public sealed class SomeType

{

// Определяем метод-аксессор get_Item.

public Int32 this[Boolean b]

{

get { return 0; }

}

// Определяем метод-аксессор get_Jeff.

[IndexerName("Jeff")]

public String this[Boolean b]

{

get { return null; }

}

}

Как видите, С# представляет себе индексаторы как способ перегрузки оператора [], и этот оператор не позволяет различать свойства с одинаковыми наборами параметров, но различающиеся лишь именами аксессоров.

Кстати, примером типа с измененным именем индексатора может быть System.String, в котором имя индексатора String — Chars, а не Item. Это свойство позволяет получать отдельные символы из строки. Было принято решение, что для языков программирования, не использующих синтаксис с оператором [] для вызова этого свойства, имя Chars будет более информативно.

Выбор главного свойства с параметрами

При анализе ограничений, которые С# налагает на индексаторы, возникают два вопроса.

1. Что, если язык, на котором написан тип, позволяет разработчику определять несколько свойств с параметрами?

2. Как задействовать этот тип в С#-программе?

 

Ответ: в этом типе надо выбрать один из методов среди свойств с параметрами и сделать его свойством по умолчанию, применив к самому классу экземпляр System.Reflection.DefaultMemberAttribute. Кстати, DefaultMemberAttribute можно применять к классам, структурам или интерфейсам. В С# при компиляции типа, определяющего свойства с параметрами, компилятор автоматически применяет к определяющему типу экземпляр DefaultMemberAttribute и учитывает его при использовании DefaultMemberAttribute.

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

Итак, в случае типа С#, у которого определено свойство с параметрами, но нет атрибута IndexerName, атрибут DefaultMember, которым помечен определяющий тип, будет указывать имя Item. Если применить к свойству с параметрами атрибут IndexerName, то атрибут DefaultMember определяющего типа будет указывать на строку, заданную атрибутом IndexerName. Помните: С# не будет компилировать код, содержащий свойства с параметрами, имеющие разные имена.

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

Обнаружив код, пытающийся получить или заказать значение индексатора, компилятор С# генерирует вызов соответствующего метода-аксессора. Некоторые языки могут не поддерживать свойства с параметрами. Чтобы получить доступ к свойству с параметрами из программы на таком языке, нужно явно вызвать желаемый метод-аксессор. CLR не различает свойства с параметрами и без параметров, поэтому для поиска связи между свойством с параметрами и его методами-аксессорами служит все тот же класс System.Reflection.Propertylnfo.

 


 

Словарь терминов

ActiveForm – активные формы, которые представляют собой композицию элементов управления ActiveX. Реализуются в виде динамически связываемых библиотек DLL, но файлы имеют расширение.ocx, а не.dll.

ADO (ActiveX Data Objects – объекты данных ActiveX) – набор компонент и технология, используемая для доступа к БД, поддерживающим спецификацию OLE DB

 

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для.NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL. Для облегчения построения web-решений используется как ADO.NET Data Services (Astoria), так и связка из Windows Communication Foundation и Windows Presentation Foundation, позволяющая строить многоуровневые приложения, реализуя один из шаблонов проектирования MVC, MVP или MVVM.

 

ASP – Microsoft® Active Server Pages. ASP представляет собой серверную среду выполнения сценариев, которая может быть использована для создания интерактивных Web-страниц и разработки плновесных Web-приложений. Когда сервер получает ASP-файл, он строит Web-страницу на основе содержащихся в нем сценариев и отправляет ее браузеру. ASP-файлы могут содержать как HTML-код, так и вызовы компонентов COM, которые в свою очередь могут осуществлять связь с БД или выполнять другие операции.

ATL – ActiveX Template Library. Библиотека активных шаблонов ActiveX Microsoft, предназначенная для облегчения процесса создания компактных клиент-серверных приложений, использующих COM и ActiveX. Используется при разработке приложений в Microsoft Visual C++.

Automation controller (синоним – ActiveX client) – контроллер автоматизации в COM-технологиях. Это клиентское приложение по отношению к серверу автоматизации Automation server, называемому также "объектом автоматизации" или "программируемым компонентом". Язык Visual Basic является типичным примером контролера автоматизации, как утверждается в MSDN.

Automation – автоматизация. Основанная на COM технология, которая предоставляет возможность взаимодействия компонентов ActiveX без использования таблиц виртуальных методов (vtable), т.е. вызов методов интерфейсов осуществляется без использования их имен, по "номерам" ID. Прежде называлась OLE Automation.

Automation object – экземпляр класса, который предоставляет свои методы и свойства клиентским приложениям посредством интерфейсов автоматизации (Automation interfaces). См. также dispinterface.

CGI (Common Gateway Interface – общий шлюзовой интерфейс) – интерфейс прикладного программирования, используемый в Internet. CGI - не язык программирования, а спецификация, определяющая взаимодействие внешней программы создания динамических WWW-документов и HTTP-сервера. CGI-программы создаются на многих языках программирования: Си, Perl, Visual Basic и др. Основной недостаток CGI - необходимость обмена данными между клиентом и сервером, что может вызвать большие временные задержки. Первоначально CGI был разработан NCSA

CLX – cross-platform component library (Delphi 6.0)

COM (Component Object Model) – модель компонентных объектов Microsoft. Стандартный механизм, включающий интерфейсы, с помощью которых одни объекты предоставляют свои сервисы другим. Является основой многих объектных технологий, в том числе OLE и ActiveX. Другие переводы: многокомпонентная модель объектов.

Containment – включение (в технологиях на основе COM - механизм многократного использования при наследовании одним объектом методов другого объекта посредством простого вызова, в отличие от агрегации aggregation).

CORBA (Common Object Request Broker Architecture) – технология (спецификация) построения распределенных объектных приложений, предложенная фирмой IBM и разработанная группой компаний OMG. Клиенты взаимодействуют с сервером, используя объекты и интерфейсы. Благодаря тому, что программное ядро CORBA разработано для всех основных аппаратных и программных платформ, эта технология позволяет разрабатывать действительно гетерогенные системы, использующие преимущества каждой платформы.

DCE (Distributed Computing Environment) – среда распределенных вычислений (группа функций независимого от платформ промежуточного обеспечения компании Open Software Foundation для организации совместной работы распределенных программ, в частности, функции обслуживания распределенных файлов, присвоения имен, контроля за временем, обслуживания потоков, дистанционного вызова процедур и обеспечения безопасности). См. также раздел OSF Standards for RPC в MSDN.

DCOM (Distributed Component Object Model) – распределенная модель компонентных объектов. Расширение модели COM фирмы Microsoft, ориентированное на поддержку и интеграцию распределенных объектных приложений, функци­они­рующих в сети.

DDE (Dynamic Data Exchange) – динамический обмен данными. Способ обмена данными между приложениями, который был введен в первых версиях Windows.

Dispinterface – диспетчерский интерфейс (диспинтерфейс). Осуществляет доступ к сервисам COM-объектов в Automation технологиях.

Heterogeneous system – гетерогенная система, т.е. система, построенная из разнородных элементов. Например, это может быть компьютерная сеть, составленная из компьютеров разных типов. Другой пример – запись (record) можно в принципе считать гетерогенным массивом.

H/PC – карманный компьютер (hand-held PC).

IDL (Interface Definition Language) – язык описания интерфейсов (используется в COM-технологиях для спецификации интерфейсов объектов COM).

In-place activation (активизация на месте) – способ редактирования внедренного документа с запуском приложения непосредственно из контейнера (в OLE технологии). См. также антоним – visual editing.

LINQ (Language Integrated Query) — проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы.NET Framework. Ранее был реализован в языках C# и Visual Basic.NET. Множество концепций, которые вводит LINQ, изначально опробовали в исследовательском проекте Microsoft Cω.

LINQ выпущен вместе с Visual Studio 2008 в конце ноября 2007 года. Для быстрого создания и отладки запросов LINQ существует специализированная утилита LINQPad.

 

MAPI – Messaging Application Programming Interface. Интерфейс прикладного программирования [для] электронной почты (корпорации Microsoft).

Marshaling – маршалинг, маршализация. Механизм, который позволяет клиенту получить доступ к объекту, находящемуся в другом процессе или на другом компьютере (невидимо для клиента). В технологии ORPC – процесс упаковки запроса, включая параметры, в стандартный формат, пригодный для передачи по сети.

MIDAS (Multitier Distributed Applications Services) – набор сервисов для многозвенных распределенных приложений. Многозвенное приложение – это распределенная система удаленного доступа к данным, которая состоит минимум из трех логических уровней. Технология MIDAS позволяет обрабатывать данные, расположенные на разных машинах. Она также поддерживает Internet-приложения, взаимодействует с технологиями CORBA, COM и MTS.

MIDL (Microsoft Interface Definition Language) – Microsoft реализация и расширение языка OSF-DCE Interface Definition Language.

MTS (Microsoft Transaction Server). Это среда, которая обеспечивает управление транзакциями, безопасность и объединение ресурсов и объектов в общий фонд (pooling) для распределенных COM приложений. MTS включает в себя целую группу элементов.

MSDN (Microsoft Developer’s Network) – собрание документов компании Microsoft, содержащее сведения обо всех ее разработках.

NCSA (National Computer Security Association) – Национальная ассоциация по компьютерной безопасности (США). Независимая исследовательская организация, проверяющая и сертифицирующая антивирусные программы и Web-узлы. Переименована в ICSA.

.NET Framework — программная платформа компании Microsoft, предназначенная для создания обычных программ и веб-приложений. Главной идеей разработки.NET Framework было стремление сделать платформонезависимую виртуальную машину для выполнения одного и того же кода в различных ОС без внесения изменений на момент компиляции. Но со временем Microsoft ограничилась поддержкой только своих операционных систем Windows. Поддержкой некоторых других платформ занимаются независимые разработчики (проекты Mono, Portable.NET).

OCX (OLE Custom eXtension) – специализированные (перемещаемые) элементы управления. Это программируемые компоненты-приложения с интерфейсом на базе OLE, позволяющим легко включать их в другие приложения. С 1996 года они стали называться ActiveX.

ODBC (Open Database Connectivity interface) – открытый интерфейс взаимодействия с базами данных. Представляет собой стандартный API, разработанный Microsoft в 1991г. Позволяет приложениям, работающим под Windows или другими ОС, общаться с различными серверами реляционных баз данных. Этот интерфейс поддерживает запросы на языке SQL и базируется на спецификации Call Level Interface Specification, разработанной консорциумом SQL Access Group. ODBC как реализация – это набор библиотек (.DLL), которые служат промежуточным слоем между приложениями и БД различных типов, обеспечивая независимость приложений от конкретных БД.

OEM – изготовители оригинального оборудования (original equipment manufacturers).

OLE (Object Linking and Embedding) – связывание и внедрение объектов. До 1996 года - общее название группы объектно-ориентированных технологий Microsoft на основе COM (OLE 1, OLE 2, OLE automation, OLE Database и др.). С 1996 года после введения термина ActiveX применяется для обозначения технологий на основе COM, используемых для создания составных документов внедрением и связыванием.

OLE DB – спецификация доступа к данным (прежнее название - Nile), разработанная Microsoft. Объединяет ODBC и OLE.

OMG (Object Management Group) – рабочая группа по развитию стандартов объектно-ориентированного программирования.

OSF (Open Software Foundation) – фонд открытого ПО, консорциум OSF (независимая некоммерческая научно-исследовательская организация, занимающаяся разработкой стандартов для открытых систем). В частности, одним из ее стандартов является язык IDL.

PLINQ (Параллельный LINQ) – является параллельной реализацией LINQ to Objects. PLINQ реализует полный набор стандартных операторов запроса LINQ как методы расширения для пространства имен T:System.Linq и имеет дополнительные операторы для параллельных операций. PLINQ объединяет простоту и удобство чтения синтаксиса LINQ с мощностью параллельного программирования. Подобно коду, предназначенному для библиотеки параллельных задач, запросы PLINQ масштабируют в степень параллелизма на основе возможностей главного компьютера.

Во многих сценариях PLINQ может значительно увеличить скорость запросов LINQ to Objects, более эффективно используя все доступные ядра на главном компьютере. Повышенная производительность увеличивает вычислительную мощностью на рабочем столе.

P/PC – ручной компьютер (palm-size – размером с ладонь). Еще меньше, чем карманный H/PC. Полностью управляется пером и не имеет клавиатуры.

 

Proxy ("заместитель") – это COM-объект внутри клиентского процесса, предоставляющий клиенту те же интерфейсы, что и объект в локальном сервере, с которым клиент пытается работать. Функцией заместителя является получение вызова от клиентского процесса, его упаковка и отправка в процесс сервера (с помощью механизма RPC). В локальном сервере упакованный вызов передается специализированному объекту – "заглушке" (stub), который распаковывает вызов и передает его требуемому объекту COM. Результат вызова передается клиенту в обратном порядке.

RPC (Remote Procedure Call) – удаленный вызов процедуры. Это средство передачи сообщений, которое позволяет распределенному приложению вызывать сервис различных компьютеров в сети. Применяется в распределенных объектных технологиях, таких как DCOM, CORBA, Java RMI.

Silverlight — это программная платформа, включающая в себя модуль для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA (Rich Internet application). Версия 2.0 добавила поддержку для языков.NET и интеграцию с IDE.

Silverlight реализована для ОС Windows 2000[3], Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows 8, Mac OS X 10.4, Mac OS X 10.5, Mac OS X 10.6 и браузеров Internet Explorer, Opera, Mozilla Firefox, Safari, Google Chrome. Silverlight включена в Windows Phone 7, а в будущем также планируется поддержка мобильных устройств, начиная с Windows Mobile 6 и Symbian (Series 60), и, возможно, других платформ.

Stub – "заглушка". См. proxy.

SSL (Secure Sockets Layer) – слой защищенных сокетов. Протокол, гарантирующий безопасную передачу данных по сети; комбинирует криптографическую систему с открытым ключом и блочное шифрование данных.

TAPI – Telephony Application Programming Interface. Интерфейс прикладного программирования (API), используемый программами для передачи данных, факсов и голосовых сообщений (такими программами как НуperTerminal, Dial-up Networking, Phone Dialer и другими коммуникационными приложениями Windows NT).

TLB (Type library, type library file) – библиотека типов. Составной документ OLE, содержащий стандартные описания типов данных, модулей и интерфейсов объектов OLE, используемый другими приложениями для получения информации об OLE-сервере (OLE server). Имеет обычно расширение.TLB и не является текстовым файлом. Просмотреть имеющиеся в системе библиотеки типов можно с помощью программы OLE View из Microsoft Visual Studio Tools. Конкретное описание каждой библиотеки можно получить с помощью этой же программы, выбрав тему меню Object=>View для предварительно выбранной библиотеки. Microsoft Word имеет библиотеку.olb.

 

TPL (Библиотека параллельных задач) – представляет собой набор открытых типов и API-интерфейсов в пространствах имен System.Threading и System.Threading.Tasks в.NET Framework 4. Цель TPL — повышение производительности труда разработчиков за счет упрощения процедуры добавления параллелизма в приложения. TPL динамически масштабирует степень параллелизма для наиболее эффективного использования всех доступных процессоров. Кроме того, в библиотеке параллельных задач осуществляется секционирование работы, планирование потоков в пуле ThreadPool, поддержка отмены, управление состоянием и выполняются другие низкоуровневые задачи. Используя библиотеку параллельных задач, можно повысить производительность кода, сосредоточившись на работе, для которой предназначена программа.

Начиная с.NET Framework 4 библиотека параллельных задач является предпочтительным способом создания многопоточного и параллельного кода. Однако не всякий код подходит для параллелизации; например, если цикл за каждую итерацию выполняет небольшой объем работ или выполняется для небольшого числа итераций, из-за дополнительной нагрузки, которую параллелизация оказывает на систему, код может выполняться медленнее. Кроме того, параллелизация, как и любой многопоточный код, усложняет выполнение программы. Хотя библиотека параллельных задач упрощает многопоточные сценарии, рекомендуется иметь базовое понимание понятий потоков, например блокировки, взаимоблокировки и состояния гонки, чтобы эффективно использовать библиотеку параллельных задач. Дополнительные сведения об основных принципах параллельных вычислений см. в Центре разработчиков компьютеров параллельной обработки данных на сайте MSDN.

Transaction – транзакция. Это группа операторов SQL, которые должны быть все выполнены успешно. Если эти операторы выполнены, то изменения БД фиксируются; в противном случае эти операции отвергаются. Транзакции являются способом сохранения целостности данных при одновременной работе с сервером нескольких клиентов.

 

Visual editing (визуальное редактирование) – способ редактирования внедренного документа в отдельном окне с последующим сохранением изменений в документе-контейнере (в OLE технологии). См. также антоним in-place activation.

Windows CE – компактная версия Windows, предназначенная в первую очередь для использования изготовителями оригинального оборудования (OEM), а также в карманных (P/PC) и ручных (H/PC – еще меньше) компьютерах. Версия 2.0 выпущена в 1997г. Она уже поддерживает цвет, технологии COM и ActiveX, а также виртуальную машину Java. В отличие от других версий поддерживает множество встраиваемых 32-х разрядных процессоров (а не только Intel и Alpha, как Windows NT).

Widget – элемент управления окном, например бегунок или экранная кнопка. Термин Widget является аббревиатурой от слов window и gadget (приспособление)

WCS (Windows CardSpace) — ныне отмененное клиентское ПО с патентованной технологией единого входа от Microsoft. WCS — это способ идентификации пользователей при перемещении между ресурсами Интернета без необходимости повторного ввода имен и паролей.

В отличие от ранее используемых технологий унифицированной идентификации (например, Microsoft Passport) WCS управляет непосредственно пользователями и приложениями, с которыми устанавливается контакт (а не из централизованного ресурса). Можно применять разные схемы и уровни сложности для идентификации при доступе на Web-форумы и для банковских операций.

15 февраля 2011 корпорация Майкрософт объявила об отмене Windows CardSpace 2.0 и о работе над замещающим ПО U-Prove.

WCF (Windows Communication Foundation) — программный фреймворк, используемый для обмена данными между приложениями, входящий в состав.NET Framework. До своего выпуска в декабре 2006 года в составе.NET Framework 3.0, WCF был известен под кодовым именем Indigo.

WCF делает возможным построение безопасных и надёжных транзакционных систем через упрощённую унифицированную программную модель межплатформенного взаимодействия. Комбинируя функциональность существующих технологий.NET по разработке распределённых приложений (ASP.NET XML Web Services — ASMX, WSE 3.0,.NET Remoting,.NET Enterprise Services и System.Messaging), WCF предоставляет единую инфраструктуру разработки, при умелом применении повышающую производительность и снижающую затраты на создание безопасных, надёжных и транзакционных Web-служб нового поколения. Заложенные в неё принципы интероперабельности позволяют организовать работу с другими платформами, для чего используются технологии взаимодействия платформ, например WSIT, разрабатываемые на базе открытого исходного кода.

WF (Windows Workflow Foundation) – представляет собой технологию компании Microsoft для определения, выполнения и управления рабочими процессами (англ. workflow). Данная технология входит в состав.NET Framework 3.0, который изначально установлен в Windows Vista и может быть установлен в Windows 2003 Server и Windows XP SP2. WF ориентирована на визуальное программирование и использует декларативную модель программирования.

При помощи WF могут быть описаны три типа процессов:

§ последовательный процесс (Sequential Workflow) — переход от одного шага в другой без возвратов обратно;

§ конечный автомат (State-Machine Workflow) — переход из одного состояния в другое, возможны и произвольные возвраты в предыдущие состояния;

§ процесс, управляемый правилами (Rules-driven Workflow) — частный случай последовательного процесса, в котором переход на следующий шаг определяется набором правил.

 

WPF (Windows Presentation Foundation) ― это система следующего поколения (за.NET FrameWork – Windows Forms) для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем. С помощью WPF можно создавать широкий спектр как автономных, так и размещенных в браузере приложений. В основе WPF лежит векторная система визуализации, не зависящая от разрешения и созданная с расчетом на возможности современного графического оборудования. WPF расширяет базовую систему полным набором функций разработки приложений, в том числе языком XAML (Extensible Application Markup Language), элементами управления, привязкой данных, макетом, двухмерной- и трехмерной-графикой, анимацией, стилями, шаблонами, документами, мультимедиа, текстом и оформлением. WPF входит в состав Microsoft.NET Framework (начиная с версии 3.0) и позволяет создавать приложения, включающие другие элементы библиотеки классов.NET Framework. (http://msdn.microsoft.com/ru-ru/library/aa970268.aspx)

 

 


Список литературы по языку С++ и программированию для Windows

1. Круглински Д., Уингоу С., Шеферд Дж. Программирование на Microsoft Visual C++ для профессионалов/Пер. с англ. – СПб:Питер; М.: Издательско-торговый дом "Русская редакция", 2000. - 864с.

(Есть в электронном виде – файл

Круглински_Уингоу_Шеферд_Программирование_на_MV_C++_6.pdf)

Эта книга – настоящая библия программирования на Microsoft Visual C++6.0 с применением библиотеки классов MFC. Ориентирована на профессиональных программистов, владеющих языком С, имеющим представление о С++ и приступающих к разработке 32-х разрядных приложений для Windows 95/98/NT 4.0.

В книге рассмотрена разработка разноообразных приложений (обработка событий, управление памятью, печать, GDI, DIB, SDI/MDI, ActiveX, COM, ATL, последние расширения COM, поддержка БД, программирование для Интернета с использованием Windows Sockets, MFC WinInet и ISAPI).

 

2. Дейтел Х.М., Дейтел П.Дж. Как программировать на С++/Пер. с англ. – Бином, 2000. – 1024с.

(Есть в электронном виде – файл Дейтел_Х_Дейтел_П_Как_программировать_на_С++.pdf)

Это учебник по языку С++, рассчитанный как на начинающих программистов, так и на опытных. При изложении материала авторы стараются абстрагироваться от аппаратной и программной платформы и компиляторов, хотя примеры написаны для компилятора Borland C++. Эта работа представляет собой очень хороший учебник по языку С++, хотя и несколько устаревший в том смысле, что в нем не рассматриваются, например, контейнеры и библиотека стандартных шаблонов STL, которые имеются в нынешнем стандарте языка С++ от 1999г.

 

3. Страуструп Б. Язык программирования С++, 3-е изд. / Пер. с англ. – СПб.: М.: "Невский Диалект" – "Издательство БИНОМ", 1999. – 991.

Излагается стандарт языка С++ (ISO/IEC 14882 "Standard for the C++ Programming Language")

Как и другие книги этого автора, они довольно тяжелы для изучения, но содержат очень квалифицированное и полное изложение особенностей языка, не связываемое с какой-либо программной или аппаратной платформой.

 

4. Элджер Д. Библиотека программиста С++ ~1998г.

(Есть в электронном виде – файл Элджер__С++_Библиотека_программиста.pdf)

 

5. Степанов А., Менг Ли. Руководство по стандартной библиотеке шаблонов (STL)/ Пер. на русский А.Суханова и А.Кутырина – М.: 1999.

(Есть в электронном виде – файл Степанов_Ли__Руководство_по_STL.chm)

Степанов считается практически единственным разработчиком библиотеки STL и эта книга представляет собой действительно хорошее руководство по STL.

 

6. Либерти Дж. С++. Энциклопедия пользователя.

(Есть в электронном виде – файл Либерти__С++_Энциклопедия_пользователя.pdf)

Эта книга действительно является энциклопедией в том смысле, что охватывает очень многие стороны языка С++: ООП, UML, библиотека STL и алгоритмы, MFC, живучесть объектов, хеширование, шифрование, CORBA, COM и др.

 

7. Подбельский В.В. Язык Си++.Учебное пособие.- 2-е изд.,перераб. и доп.-М.:Финансы и статистика,1996.-560с.:ил.

Вышло уже и 4-е издание в 1999г. (просто 4-е издание, не переработанное и не дополненное). ISSN 5-279_01670_5.

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

 

8. В.Н.Овсянник «Язык С++ не для чайников»

Имеется только в электронном формате. В основном материал относится к версии языка С++, реализованной в компиляторе ВС3.1 (последняя версия от Borland для MS DOS).

 

8а. Джеффри Рихтер, Кристоф Назар. Windows via C/C++. Программирование на языке Visual C++. Изд-во: Питер, Русская Редакция, 2009 г., 896 стр.

ISBN 978-5-388-00205-1, 978-5-7502-0367-3, 978-0-7356-2424-5

 

Файл Рихтер_Назар_Windows via C++.pdf

в папке windows_via_c_c_programmirovanie_na_jazyke_visual_c. В этой же папке есть и много примеров программ.

 

Это издание — практически новая книга, посвященная разработке серьезных приложений на Visual C++ в операционных системах Windows XP и Windows Vista (32- и 64-разрядных версиях) с использованием функций Windows API. Гораздо глубже, чем в предыдущих изданиях, рассматриваются такие темы, как механизм User Account Control, взаимодействие с системой библиотеки C/C++ при реализации защитных механизмов и обработке исключений; представлены новые синхронизирующие механизмы. В это издание добавлены две совершенно новые главы: о механизмах ввода-вывода и о работе новой системы Windows Error Reporting, изменившей подходы к созданию отчетов об ошибках и восстановлению приложений после сбоев. Книга предназначена для профессиональных программистов, владеющих языком С/С++ и имеющим опыт разработки Windows-приложений. Исходные тексты для всех программ-примеров из книги читатели найдут на веб-сайте поддержки нового издания. Книга состоит из 26 глав и двух приложений.

 

Список литературы по платформе.NET

9. Дон Бокс, Крис Селлз. Основы платформы.NET, том 1. Общеязыковая исполняющая среда /Пер. с англ. – М.; СПб.: К.: Издательский дом "Вильямс", 2003. – с.288. ISBN 5-8459-0455-2

 

13 февраля 2002 года закончилась эпоха COM и началась эпоха CLR. В этот день в составе пакета.NET Framework увидела свет виртуализованная среда исполнения CLR. В книгах не столь высокого теоретического уровня, как эта сложно осветить многие возможности, предоставляемые виртуализованной средой исполнения. Пожертвовав популярностью, автор вводит читателя за кулисы высокоуровневых средств программирования, не углубляясь при этом в дебри низкоуровневых кодов. Книга предназначена для профессиональных программистов и не может служить единственным учебником, так как в ней отсутствуют объяснения многих общеизвестных положений, которые можно найти в другой литературе. Тем не менее она все же является учебником, благодаря последовательности изложения и практической направленности рассматриваемых вопросов.

 

10. Деймьен Уоткинз, Марк Хаммонд, Брэд Эйбрамз. Программирование на платформе.NET среда /Пер. с англ. – М.; СПб.: К.: Издательский дом "Вильямс", 2003. – с.368. ISBN 5-8459-0456-0

 

Книга написана группой разработчиков платформы.NET и позволяет узнать, как на самом деле устроена эта платформа. В отличие от многих других книг на эту тему, она описывает не только "как" работают элементы платформы.NET, но и "почему". Несомненным достоинством книги является глубокий анализ платформы.NET с объяснением причин, по которым разработчики среди множества альтернативных вариантов выбрали именно те, которые легли в основу платформы.NET. Первая часть книги начинается сравнительным анализом прежних распределенных систем и платформы.NET (глава 1), после чего предлагается подробное обсуждение системы типов (глава 2) и метаданных (глава 3). При описании системы выполнения (глава 4) приведены тонкости использования промежуточного языка, рассматриваются системы безопасности и управления политиками. Большое внимание в книге уделяется процессу создания (глава 5) и развертывания (глава 6) приложений с углубленным описанием вопросов контроля версий, интернационализации и локализации, которые лишь кратко упоминаются в других книгах о платформе.NET.

Обзор библиотеки классов Framework Class Library (глава 7) насыщен простыми и ясными примерами ее использования. Вторая часть состоит из восьми приложений, которые посвящены реализациям совершенно разных языков программирования (от Visual Basic и Perl до Pascal и Mondrian) для платформы.NET. Книга рассчитана на широкий круг читателей с разной подготовкой: от студентов, желающих на простых примерах познакомиться с новой технологией программирования, до профессионалов высокого уровня, интересующихся тонкостями реализации новой платформы и переноса на нее унаследованных решений.

 

11. Джеффри Рихтер. CLR via C#. Программирование на платформе Microsoft.NET Framework 2.0 на языке C#. Мастер-класс / Пер. с англ. – М.:Издательство «Русская редакция»; СПб.: Питер, 2007. - 656с.

Есть в электронном формате (djvu).

 

Известный хороший автор и хорошая книга.

12. Джеффри Рихтер. Программирование на платформе Microsoft.NET Framework / Пер. с англ. – М.:Издательско-торговый дом «Русская редакция», 2003 - 512с.

Есть в электронном формате (.pdf)

13. http://professorweb.ru/ - очень неплохой ресурс, содержащий много полезного по.NET и C# в частности. Много материала по WPF.

 

14. http://msdn.microsoft.com/ru-ru/library/vstudio/ms771542(v=vs.90).aspx - Примеры приложений (WPF) NET Framework 3.5

 

15...\C_Sharp\DOC\SampleViewerLite – Проект, который показывает содержимое.xaml для управляющих элементов WPF

 

16. ms-help://MS.MSDNQTR.v90.en/dv_fxsamples/html/a3726213-ab77-4b45-800a-93fafd52d0b9.htm - Примеры (samples) по.NET в MSDN

 







Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.