АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Технологии: WPF, Entity Framework, ADO.NET

Читайте также:
  1. A Case of Identity
  2. A CASE OF IDENTITY
  3. CASE-технологии: что, когда, как?
  4. Identity
  5. Занятие 5. Современные архивные технологии: российский и зарубежный опыт.

Windows Presentation Foundation (WPF) — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе.NET Framework (начиная с версии 3.0), использующая язык XAML.

WPF предустановлена в Windows Vista (.NET Framework 3.0), Windows 7 (.NET Framework 3.5 SP1), Windows 8 (.NET Framework 4.0 и 4.5). С помощью WPF можно создавать широкий спектр как автономных, так и запускаемых в браузере приложений.

Особенности технологии

В основе WPF лежит векторная система визуализации, не зависящая от разрешения устройства вывода и созданная с учётом возможностей современного графического оборудования. WPF предоставляет средства для создания визуального интерфейса, включая язык XAML (Extensible Application Markup Language), элементы управления, привязку данных, макеты, двухмерную и трёхмерную графику, анимацию, стили, шаблоны, документы, текст, мультимедиа и оформление.

Графической технологией, лежащей в основе WPF, является DirectX, в отличие от Windows Forms, где используется GDI/GDI+. Производительность WPF выше, чем у GDI+ за счёт использования аппаратного ускорения графики через DirectX.

Также существует урезанная версия CLR, называющаяся WPF/E, она же известна как Silverlight.


 

Использование разметки XAML

XAML представляет собой XML, в котором фактически реализованы классы.NET Framework. Также реализована модель разделения кода и дизайна, позволяющая кооперироваться программисту и дизайнеру. Кроме того, есть встроенная поддержка стилей элементов, а сами элементы легко разделить на элементы управления второго уровня, которые, в свою очередь, разделяются до уровня векторных фигур и свойств/действий. Это позволяет легко задать стиль для любого элемента, например, Button (кнопка).

Средства разработки

Для работы с WPF требуется любой.NET-совместимый язык. В этот список входит множество языков: C#, VB, C++, Ruby, Python, Delphi (Prism), Lua и многие другие. Для полноценной работы может быть использована как Visual Studio, так и Expression Blend. Первая ориентирована на программирование, а вторая — на дизайн и позволяет делать многие вещи, не прибегая к ручному редактированию XAML. Примеры этому — анимация, стилизация, состояния, создание элементов управления и так далее.

Возможности

WPF предоставляет широкий спектр возможностей по созданию интерактивных настольных приложений:

Привязка данных

Это гибкий механизм, который позволяет через расширения разметки XAML связывать различные данные (от значений свойств элементов управления до общедоступных свойств, реализующих поля базы данных через Entity Framework). Привязка данных представлена классом Binding, который в свою очередь унаследован от MarkupExtension, что позволяет использовать привязки не только в коде но и в разметке:

 

 

<StackPanel Orientation="Horizontal">

<Slider x:Name="slider" Width="200" Minimum="1" Maximum="100" Value="60"/>

<TextBox Text="{Binding ElementName=slider, Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

</StackPanel>

 

Помимо основного класса Binding в WPF реализовано еще несколько механизмов привязок:

MultiBinding - позволяет создавать множественные привязки, указывая несколько элементов

TemplateBinding - используется в шаблонах для связывания свойства элемента внутри шаблона со свойством элемента, к которому применен шаблон

PriorityBinding - ранжирует список привязок и выбирает из них свойство (согласно приоритету) к которому будет применена привязка. Если привязка, имеющая наивысший приоритет успешно возвращает значение, то нет необходимости обрабатывать другие привязки в списке.

Стили

Позволяют создавать стилевое оформление элементов и, как правило, используются только в разметке:

<Button>

<Button.Style>

<Style TargetType="Button">

<Setter Property="FontSize" Value="20"/>

<Setter Property="Foreground" Value="LimeGreen"/>

</Style>

</Button.Style>

</Button>

 

Если стиль задается в ресурсах (например в словаре ресурсов), то можно использовать атрибут x:Key для указания уникального ключа. Затем в элементе управления, к которому необходимо применить стиль, нужно использовать расширение разметки StaticResource для связывания с этим стилем. Если использовать этот прием, то стили не будут нагромождать разметку.

Шаблоны элементов управления

Позволяют менять графическое оформление элементов и представлены классом ControlTemplate. В отличие от стилей, можно менять не только графическое представление элемента, но и его структуру. При этом шаблон элемента управления задается через свойство Template.

Простой пример круглой кнопки:

 

<Button Content="Hey!" Background="LimeGreen" Foreground="White">

<Button.Template>

<ControlTemplate TargetType="Button">

<Grid>

<Ellipse Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" Stretch="Fill"/>

<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/>

</Grid>

</ControlTemplate>

</Button.Template>

</Button>

 

Шаблоны данных

В отличие от шаблонов элементов управления, задаются для определенного контекста данных (который в блочных элементах управления задается через свойство DataContext, а в списковых через ItemsSource). Сам шаблон данных представлен классом DataTemplate. Для обозначения типа данных, к которому необходимо применить шаблон, используется свойство DataType.

Ресурсы

Система ресурсов позволяет объединять шаблоны, стили, кисти, анимацию и многие другие интерактивные элементы, что существенно упрощает работу с ними. Ресурсы задаются в свойстве Resources класса FrameworkElement, от которого унаследованы все элементы управления, панели компоновки и даже класс Application. Это позволяет создавать многоуровневую систему ресурсов:

ресурсы внутри объекта - действительны только для этого объекта

ресурсы внутри панели компоновки (например Grid) - позволяет задать границу контекста ресурсов на уровне этой панели

ресурсы внутри окна Window - если в приложении используется несколько окон, то ресурсы одного окна не будут доступны ресурсам другого окна

 

<Window.Resources>

<SolidColorBrush x:Key="SampleBrush" Color="LimeGreen"/>

</Window.Resources>

 

...

 

<Button Content="Hey!" Background="{StaticResource SampleBrush}" />

 

ресурсы приложения - доступны повсеместно (как правило задаются в отдельном словаре ресурсов).

 

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.

История

Релиз ADO.NET Entity Framework состоялся 11 августа 2008 года в составе.NET Framework 3.5 Service Pack 1 и Visual Studio 2008 Service Pack 1. В VS 2008 вошёл EDM Wizard для реверс-инжиниринга существующих баз данных и EDM Designer для редактирования сгенерированных моделей или создания их с нуля.

23 июня 2008 года, ещё до релиза первой версии, на стадии финальной доводки Entity Framework V1, начался процесс разработки Entity Framework V2.0. По словам англ. Tim Mallalieu, программного менеджера LINQ to SQL и EF, в.NET Framework 4.0 именно Entity Framework станет рекомендуемой технологией доступа к реляционным СУБД посредством LINQ.

12 апреля 2010 года в составе релиза Visual Studio 2010 и.NET Framework 4.0 был представлена Entity Framework 4.0. Позже уже отдельно от фреймворка были представлены версии: 4.1 (апрель 2011), 4.2 (октябрь 2011), 4.3 (февраль 2012).

Entity SQL

Entity SQL представляет собой язык, подобный языку SQL, который позволяет выполнять запросы к концептуальным моделям в Entity Framework.

LINQ to Entities

Это альтернативный интерфейс LINQ API, используемый для обращения к базе данных. Он отделяет сущностную объектную модель данных от физической базы данных, вводя логическое отображение между ними. Так например, схемы реляционных баз данных не всегда подходят для построения объектно-ориентированных приложений и в результате мы имеем объектную модель приложения существенно отличающуюся от логической модели данных, в этом случае используется LINQ to Entities, который использует модель EDM (Entity Data Model). То есть, если вам нужно ослабить связь между вашей сущностной объектной моделью данных и физической моделью данных, например, если ваши сущностные объекты конструируются из нескольких таблиц или вам нужна большая гибкость в моделировании ваших сущностных объектов используйте LINQ to Entities.

 

ADO.NET — это набор классов, предоставляющих службы доступа к данным программисту, работающему на платформе.NET Framework. ADO.NET имеет богатый набор компонентов для создания распределенных приложений, совместно использующих данные. Это неотъемлемая часть платформы.NET Framework, которая предоставляет доступ к реляционным данным, XML-данным и данным приложений. ADO.NET удовлетворяет различные потребности разработчиков, включая создание клиентских приложений баз данных, а также бизнес-объектов среднего уровня, используемых приложениями, средствами, языками и браузерам.

ADO.NET предоставляет согласованный доступ к таким источникам данных, как SQL Server и XML, а также к источникам данных, предоставляемым при помощи OLE DB и ODBC. Пользовательские приложения, использующие общие данные, могут использовать ADO.NET для соединения с этими источниками данных и для получения, обработки и обновления имеющихся в них данных.

ADO.NET разделят доступ к данным и обработку данных на дискретные компоненты, которые могут использоваться отдельно или совместно. ADO.NET включает поставщиков данных.NET Framework для соединения с базой данных, выполнения команд и получения результатов. Эти результаты, помещенные в объект ADO.NET DataSet, обрабатываются непосредственно, чтобы они могли быть предоставлены пользователю нерегламентированным образом, объединенные с данными из многих источников или передаваемые между уровнями. Объект DataSet также может независимо использоваться поставщиком данных.NET Framework для управления локальными для приложения данными или данными, источником которых является XML.

Классы ADO.NET имеются в System.Data.dll и интегрируются с классами XML, имеющимися в System.Xml.dll. Сведения об образце кода, который соединяется с базой данных, получает из нее данные, а затем отображает эти данные в консоли, см. в разделе Примеры кода ADO.NET.

Для разработчиков, которые пишут управляемый код, ADO.NET предоставляет функциональный набор, сходный с функциональным набором, который предоставляют объекты данных ActiveX (ADO) разработчикам моделей объектов собственных компонентов (COM). Для доступа к данным в приложении.NET мы рекомендуем использовать ADO.NET, а не ADO.

ADO.NET предоставляет самый прямой способ доступа к данным в.NET Framework. Сведения о более высоком уровне абстракции, который позволяет приложениям работать с концептуальной моделью, а не с базовой моделью хранения, см. в разделе Платформа ADO.NET Entity Framework.

 


1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)