- •Java и c# технологии прикладного програмирования
- •Java и c# технологии прикладного програмирования
- •Содержание
- •Введение
- •Лабораторная работа № 1 Коллекции c#
- •Цель работы
- •Теоретические сведения
- •Общие сведения о платформе .Net
- •Общие сведения о коллекциях c#
- •Обобщенные коллекции с#
- •Порядок выполнения лабораторной работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Получение информации о типе
- •Экземпляр типа Type
- •Получение экземпляра типа Type
- •Динамическая загрузка сборок
- •Динамическая загрузка типов
- •Исследование типа
- •Характеристики типа как целого
- •Члены класса
- •Динамическое создание объекта и вызов методов
- •Создание объекта по его типу
- •Динамический вызов методов
- •Использование интерфейсов
- •Позднее связывание
- •Динамическое приведение типов
- •Новые механизмы абстракции
- •Динамическое создание типов
- •Динамическое создание программного кода
- •Динамическое создание класса
- •Динамическое создание перечислений
- •Динамический "Hello World!"
- •Динамическое разворачивание циклов
- •Атрибуты
- •Атрибут это класс
- •Декларативное программирование
- •Код, выполняемый во время разработки
- •Использование атрибутов
- •Использование встроенных атрибутов
- •Определение и использование пользовательских атрибутов
- •Пример декларативного программирования
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Связный уровень взаимодействия ado.Net
- •Несвязный уровень взаимодействия ado.Net
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Связи между объектами в FluentNHibernate
- •Связь один к одному
- •Связь один ко многим
- •Связь многие ко многим
- •Способы выборки объектов в FluentNHibernate
- •Запросы NativeSql
- •Запросы по критерию
- •Запросы по образцу
- •Запросы hql
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Компиляция страниц по требованию
- •Страница asp.Net 2.0
- •Директива @Page
- •Жизненный цикл страницы
- •Новые свойства и методы объекта Page
- •Управление страницей
- •Установка выделения на элемент управления
- •Обновление данных без перезагрузки страницы
- •Отправка данных формы другой странице asp.Net
- •Шаблоны дизайна страниц
- •Создание шаблона дизайна
- •Создание страницы
- •Обработка шаблонов средой asp.Net
- •Использование разных шаблонов для разных браузеров
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Библиотеки модульного тестирования в .Net
- •Unit Testing Framework от Microsoft
- •Порядок выполнения работы
- •Задание на лабораторную работу
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованная литература
Задание на лабораторную работу
Написать приложение, описанное в ходе выполнения лабораторной работы, которое может работать с двумя таблицами СУБД. В отличие от приложения, описанного в лабораторной работе, предметную область необходимо выбрать с таблицы 4.1. Номер варианта определяется по последней цифре зачетной книжки.
Таблица 4.1 – Варианты заданий
Номер варианта |
Предметная область |
1 |
Пиццерия (Официант, Посетитель) |
2 |
Магазин (Поставщик, Товар) |
3 |
Супермаркет (Продавец, Товар) |
4 |
Отделение милиции (Милиционер, Нарушитель) |
5 |
Больница (Врач, Пациент) |
6 |
Кинотеатр (Кинозал, Посетитель) |
7 |
Корабль (Каюта, Пассажир) |
8 |
Предприятие (Отдел, Сотрудник) |
9 |
Библиотека (Книга, Читатель) |
Содержание отчета
фамилия и имя исполнителя лабораторной работы;
номер и название лабораторной работы;
цель лабораторной работы;
краткие теоретические сведенья на одну страницу;
ход работы (листинги программ, скриншоты программ);
выводы о проделанной работе.
Контрольные вопросы
Что такое ORM?
Чем отличается NHibernate от Fluent NHibernate?
Как в FluentNHibernateспроецировать поле класса на базу данных.
Как задать связи между объектами в NHibernate?
Как задать связи между объектами в FluentNHibernate?
Связь HasOne. Назначениеи синтаксис.
Связь HasMany. Назначениеи синтаксис.
Связь HasManyToMany. Назначениеи синтаксис.
Лабораторная работа №5ASP.NET
Цель работы
Изучить возможности технологии ASP.NET, получить практические навыки по работе сASP.NET.
Теоретические сведенья
Технология разделения кода
Основа всего в Web-приложении – это страница (Page). Пользователь, используя браузер, перемещается между страницами, возвращаясь иногда к уже просмотренным страницам, вводит какие-то данные в HTML формы и получает некоторый результат. В ASP.NET страница чаще всего представляет собой Web-форму, содержащую различные элементы управления, реагирующую на события, создаваемые пользователем.
ASP.NET 1.x позволяет разделять код логикиоткода представления, то есть помещать код программной логики страницы в .csили.vbфайл, отдельно от кода собственно страницы, размещаемого в.aspxфайле. Эта технология называетсяCode-Behind. Таким образом, дизайн страницы может быть изменен, не затрагивая код страницы, что позволяет разделить ответственность за внешний вид и работу страницы между дизайнером и программистом. Для этого в.aspxфайле можно задать параметры директивыPage.
<%@ Page Language="c#" Src="User.aspx.cs" %>
Для поддержки редактирования с помощью VS .NET в ASP.NET странице необходимо указать класс, соответствующей данной странице, ифайл, в котором находится код этого класса. Для этого директиваPageпреобразуется с использованием ключевых словCodebenindиInherits.
<%@ Page Language="c#" Codebehind="TheProject.User" Inherits="User.aspx.cs" %>
В ASP.NET 2.0 странице используется иной механизм разделения кода. В директиве Pageпри этом необходимо использовать другие ключевые слова:CodeFileиInherits.
<%@ Page Language="c#" CodeFile="TheProject.User" Inherits="User.aspx.cs" %>
В этом случае код класса программной логики страницы будет размещен в файле указанном в атрибуте CodeFile. Надо отметить, что VS использует разделяемые классы (partialclasses).
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e){}
}
Поэтому разработчик может поместить код класса в нескольких файлах, но подобное рассредоточение кода делает приложение весьма громоздким и трудным в поддержке и разработке.
Используемая в VS 2003 модель Code-Behindобладает несколькими весьма существенными недостатками. Прежде всего, используя VS разработчику необходимо компилировать проект перед публикацией, поскольку ASP.NET компилирует страницы, только если указан атрибутSrc, не используемый VS. При этом, поскольку среда ASP.NET обнаруживает изменение даты создания сборки, после каждой замены старой сборки в каталогеbinпроисходит перезапуск домена приложения, что выливается во временную "заторможенность" в работе приложения.
VS использует новые ключевые слова, поддерживаемые средой выполнения ASP.NET 2.0, а среда выполнения, в свою очередь, использует новую технику компиляции страниц. Это позволяет решить проблему замены сборки на более новую.
Несмотря на это, VS по-прежнему позволяет отказаться от разделения кода и поместить код программной логики в самом файле страницы, и использовать теги <script runat="server"></script>. Более того, по умолчанию VS создает именно страницы без разделения кода.