Сергей Тарасов - Дефрагментация мозга. Софтостроение изнутри

Здесь есть возможность читать онлайн «Сергей Тарасов - Дефрагментация мозга. Софтостроение изнутри» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2013, ISBN: 2013, Издательство: Array Издательство «Питер», Жанр: Программирование, Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Дефрагментация мозга. Софтостроение изнутри: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Дефрагментация мозга. Софтостроение изнутри»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Эта книга для тех, кто давно связан с разработкой программного обеспечения. Или для тех, кто еще думает выбрать программирование своей профессией. Или для тех, кто просто привык думать и размышлять о происходящем в мире информационных технологий.
Не секрет, что основная масса софтостроения сосредоточена в секторе так называемой корпоративной разработки: от комплексных информационных систем предприятия до отдельных приложений. Поэтому немалая часть сюжетов касается именно Enterprise Programming.
Из текста вы вряд ли узнаете, как правильно склеивать многоэтажные постройки из готовых компонентов в гетерогенной среде, проектировать интерфейсы, синхронизировать процессы или писать эффективные запросы к базам данных. Подобные темы будут лишь фоном для рассказа о софтостроительной «кухне». При определенной доле любопытства вы сможете убедиться, что новое – это хорошо забытое старое, узнать, как устроены некоторые сложные системы, когда следует применять разные технологии, почему специалистам в информатике надо особенно тщательно фильтровать поступающую из множества источников информацию, и многое другое, что вы, возможно, еще не знали или уже знаете, но с другой стороны.
В книге мне хотелось показать наш софтостроительный мир разработки корпоративных информационных систем не с парадного фасада описаний программных сред, подходов и технологий, а изнутри. Насколько это получилось – судить читателю.

Дефрагментация мозга. Софтостроение изнутри — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Дефрагментация мозга. Софтостроение изнутри», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

name="GRANULARITY" not-null="true" />

name="FromDate" access="property">

name="FROM_DATE" not-null="true" />

name="ToDate" access="property">

name="TO_DATE" not-null="true" />

name="Closed" access="property" type="YesNo">

name="CLOSED" not-null="true" />

name="CreatedBy" access="property">

name="CREATED_BY" not-null="false" />

name="CreatedDate" access="property" type="timestamp">

name="CREATED_DATE" not-null="false" />

name="LastModifiedBy" access="property">

name="LAST_MODIFIED_BY" not-null="false" />

name="LastModifiedDate" access="property" type="timestamp">

name="LAST_MODIFIED_DATE" not-null="false" />

Слой веб-служб и интерфейсов доступа (ServiceStack)

Генерируемые для слоя веб-служб C#-файлы предназначены для создания двух сборок: собственно служб и интерфейсов к ним, используемых клиентами.

Рис 25Классы реализующие службы доступа к объектам домена Рис 26Класс - фото 38 Рис 25Классы реализующие службы доступа к объектам домена Рис 26Класс - фото 39

Рис. 25.Классы, реализующие службы доступа к объектам домена

Рис 26Класс службы сохранения объектов Интерфейсы доступа к службам также - фото 40

Рис. 26.Класс службы сохранения объектов

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

Рис 27Перечисляемый тип слоя вебслужб Рис 28Классы вызова - фото 41

Рис. 27.Перечисляемый тип слоя веб-служб

Рис 28Классы вызова специфицированных методов Рис 29Классы вызова - фото 42

Рис. 28.Классы вызова специфицированных методов

Рис 29Классы вызова вебслужб касающихся финансового года Рис 30Класс - фото 43

Рис. 29.Классы вызова веб-служб, касающихся «финансового года»

Рис 30Класс адаптера для работы с объектом Финансовый год Рис 31Класс - фото 44

Рис. 30.Класс адаптера для работы с объектом «Финансовый год»

Рис 31Класс адаптера для работы с коллекцией объектов Финансовый год - фото 45

Рис. 31.Класс адаптера для работы с коллекцией объектов «Финансовый год»

Работать с DTO и коллекциями не слишком комфортно, проявляется много ненужных деталей. Но если обернуть операции с DTO адаптерами, то код становится гораздо более читаемым и коротким.

Пример работы с DTO

CurrencyDTO curr1 = newCurrencyDTO();

curr1.Code = "RUR";

curr1.Name = "Currency 1";

UnitOfWorkDTO uow = newUnitOfWorkDTO();

uow.Save(curr1);

PersistenceRequest prq1 = newPersistenceRequest();

prq1.UnitOfWork = uow;

PersistenceResponse prr1 = client.Post("/Persistence", prq1);

Assert.IsFalse(prr1.CommitResult.HasError, prr1.CommitResult.Message);

Пример работы с адаптерами

Currency curr1 = newCurrency();

curr1.Code = "RUR";

curr1.Name = "Currency 1";

CommitResult cr1 = curr1.Save();

Assert.IsFalse(cr1.HasError, cr1.Message);

Программа-клиент

В рамках простейшего WinForms-приложения создадим форму, содержащую сетки отображения финансовых годов и их периодов. Не вдаваясь в технику разработки приложений этого типа, просто приведу фрагменты кода, запрашивающие у служб коллекции соответствующих типов.

Извлечение списка финансовых годов, отфильтрованного по названию

FiscalYearCollection years = FiscalYearCollection.GetByQuery(

"from FiscalYear where Name like: name order by Name",

newServicesQueryParams()

AddParam("name", txtYearName.Text)

);

dgvYears.DataSource = years;

Извлечение списка учётных периодов заданного года

PeriodCollection periods = PeriodCollection.GetByQuery(

"from Period where FiscalYear.Id =:yearId order by FromDate",

newServicesQueryParams()

AddParam("yearId", CurrentYear.Id),

0, 1000);

dgvPeriods.DataSource = periods;

Запускаем клиентское приложение, предварительно запустив сервер веб-служб, и видим на экране примерно такую картинку, как на рис. 32.

Рис 32Форма отображения финансовых годов и учётных периодов Остановиться и - фото 46

Рис. 32.Форма отображения финансовых годов и учётных периодов

Остановиться и оглянуться

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Дефрагментация мозга. Софтостроение изнутри»

Представляем Вашему вниманию похожие книги на «Дефрагментация мозга. Софтостроение изнутри» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Дефрагментация мозга. Софтостроение изнутри»

Обсуждение, отзывы о книге «Дефрагментация мозга. Софтостроение изнутри» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x