ПОЗНАЙ ИНТУИТА, Лекция

3.1. Въведение в .Net Compact Framework

Целта на тази лекция е да се формира представа за. Технология Net Compact Framework, нейното развитие и възможности.

Разбира се, технология. NET Compact Framework е малко по-различен от . NET рамка. Вярва се, че . NET Compact Framework е част от пълния . NET рамка. Наистина има много общо между тези две платформи. Но все пак говорим за. NET Compact Framework като подмножество на пълния . NET Framework не е напълно правилен. Факт е, че. NET Compact Framework поддържа серия от класове, които не се намират в пълната библиотека с класове. Тези класове са проектирани специално за мобилни устройства и ви позволяват да поддържате, например, софтуерна клавиатура, инфрачервена комуникация и възможности за изпращане на SMS.

Критериите, по които е създадена първата версия на .Net Compact Framework

  1. .NET Compact Framework трябваше да бъде изграден като подмножество на .NET Framework, разработен преди това за настолни компютри и сървъри, който беше двоично съвместим и съвместим със стандартите.
  2. Възможности за различни платформи.
  3. Мощни възможности от страна на клиента, включително поддръжка за чертане и формуляри, действайки като клиент на уеб услуги и предоставяйки богат модел за достъп до данни.
  4. Ниски изисквания към количеството памет, инсталирана на устройството и заета от платформата.
  5. Беше необходимо да се осигури практическа поддръжка за поне два .NET езика - C# и Visual Basic .NET.
  6. Платформата трябваше да служи като удобен заместител на собствените кодове за повечето търговски, научни, индустриални и развлекателни приложения.
  7. Възможност за достъп до инструментите на основната операционна система, ако е необходимо.

3.2. .Net Compact Framework библиотеки

Библиотеки с управляван код

Библиотеките с управляван код на .NET Compact Framework са част от софтуера, с който разработчиците взаимодействат. Както при настолния вариант на .NET Framework, библиотеките на .NET Compact Framework се хостват в множество .dll файлове. Тези библиотеки присъстват на настолни компютри по време на проектиране и също така се инсталират на целеви устройства за използване по време на изпълнение.

За да работите с тези библиотеки по време на проектиране, използвайте имената System. DLL , системи .Windows . форма. DLL и система. xml. dll. На устройства тези файлове може да имат различни имена в зависимост от нуждите на целевите устройства за именуване на файлове и версии. По време на компилация библиотеките с управляван код се използват по същия начин, по който заглавните файлове се използват от C/C++ компилаторите или библиотеките с типове се използват от наследения (VB6 и по-ранен) код на Visual Basic за предаване на информация за интерфейсите и типовете, използвани от компилирания код.

Фактът, че тези файлове имат същото DLL разширение като файловете на собствените C/C++ кодови библиотечни файлове, се дължи единствено на желанието да се запази познатият подход към именуването на файловете; естеството на тяхното двоично съдържание е напълно различно и всяко друго удобно разширение може да бъде включено в техните имена със същия успех. Фактът, че имената на файловете на .NET Compact Framework обикновено са същите като имената на съответните файлове на .NET Framework, също е чисто въпрос на удобство. Всъщност тези файлове могатда бъдат допълнително разделени на още повече файлове или комбинирани в един файл, ако е необходимо. При бъдещи реализации за системи, различни от Windows, тази опция може да бъде избрана, ако се предпочита.

Обикновено подробностите за внедряване в приложенията не трябва да се вземат предвид, тъй като задачите за намиране, зареждане и управление на споделени библиотеки, налични на устройството, се обработват от средата за изпълнение.

От гледна точка на програмирането, всяка от тези DLL предоставя на разработчика набор от йерархични пространства от имена, съдържащи класове и типове. Примери за пространства от имена, съдържащи класове и типове, са:

System.* System.Xml.* System.* Data.* System .Drawing.* и други подобни.

Във всички останали случаи, които не са свързани с периода на компилация, когато на компилатора е предоставен списък с файлове, използвани за намиране на препратени класове, разработчиците не трябва да се притесняват кой файл съдържа определен клас. Вместо това те трябва да мислят само за логическата йерархия на използваните пространства от имена, без да се тревожат за действителното разположение на конкретни типове в посочените файлове.

Библиотеки на базови класове

Базовите класове съдържат общи типове и функционалност, които разработчиците използват за прилагане на повечето алгоритми за обработка на данни. Базовите класове имат следния състав:

  • Всички основни типове данни, като цели числа, низове, плаващи числа, дата/час, масиви и колекции.
  • Файлови входно-изходни средства, потоци, мрежови сокети.
  • Инструменти за намиране на типове, методи и свойства в сборки и обвързване към тях по време на изпълнение. Тезиспособностите се наричат ​​отражения.
  • Инструменти, които позволяват на приложенията да вземат предвид регионалните и местните специфики. Тези характеристики се наричат ​​глобализация.

Горната функционалност, заедно с допълнителни базови класове, е капсулирана в следните йерархични пространства от имена:

  • Система.*
  • System.Collections.*
  • System.ComponentModel.*
  • System.Diagnostics.Globalization.*
  • System.IO.*
  • System.Net.Sockets. *
  • Система.Сигурност.*
  • System.Text.*
  • System.Threading.*

UI библиотеки

При създаването на библиотеки с потребителски интерфейс бяха преследвани две цели:

  1. позволяват на разработчиците да създават богати корпоративни приложения, използвайки съвременни контроли на потребителския интерфейс на високо ниво, като Button, PictureBox, List View, TreeView, TabControl и т.н., и
  2. предоставят на разработчиците възможността да извършват операции за рисуване на ниско ниво на мобилни устройства, използвайки разширен набор от операции за обработка на растерни изображения, за да рисуват 2D обекти като линии, многоъгълници, текст и изображения.

Описаната функционалност се предлага в две йерархични пространства от имена: