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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

• слой домена под управлением NHibernate;

• слой веб-служб на базе ServiceStack (вместо WCF, имеющего под Mono/Linux ограничения).

Пример конфигурации проекта в Genie Lamp

fileName="MyModel.xml" />

name="SqlServer"

type="GenieLamp.Genies.SqlServer.SqlServerGenie"

assembly="GenieLamp.Genies.SqlServer"

active="false"

outDir="%PROJECT_DIR%/../SQL/SqlServer-%TARGET_VERSION%"

outFileName="%PROJECT_NAME%.sql"

updateDatabase="true"

targetVersion="2008">

name="Database.Create" value="false" />

… Другие параметры "заклинания"

name="OracleDb"

type="GenieLamp.Genies.Oracle.OracleGenie"

assembly="GenieLamp.Genies.Oracle"

active="true"

outDir="%PROJECT_DIR%/../SQL/Oracle-%TARGET_VERSION%"

outFileName="%PROJECT_NAME%.sql"

outFileEncoding="iso-8859-1"

updateDatabase="false"

targetVersion="10g">

name="UniqueIndexConstraint" value="true" />

name="NHibernate"

type="GenieLamp.Genies.NHibernate.NHibernateGenie"

assembly="GenieLamp.Genies.NHibernate"

active="true"

outDir="%PROJECT_DIR%/../Domain"

outFileName="%PROJECT_NAME%.Domain.cs"

targetVersion="*">

name="TargetAssemblyName" value="Company.Business.%PROJECT_NAME%.

Domain" />

для генерации интерфейсов к веб-службам – >

name="ServiceStack Services Interfaces"

type="GenieLamp.Genies.ServicesLayer.ServiceStack.ServicesInterfacesGenie"

assembly="GenieLamp.Genies.ServicesLayer"

active="true"

outDir="%PROJECT_DIR%/../Services.Interfaces"

targetVersion

="*">

для генерации собственно веб-служб – >

name="ServiceStack Services"

type="GenieLamp.Genies.ServicesLayer.ServiceStack.ServicesGenie"

assembly="GenieLamp.Genies.ServicesLayer"

active="true"

outDir="%PROJECT_DIR%/../Services"

targetVersion="*">

name="Persistence">

style="uppercase" maxLength="30">

name="PrimaryKey.ColumnTemplate" value="NI%TABLE%" />

name="PrimaryKey.ConstraintTemplate" value="PK_%TABLE%" />

… Другие шаблоны именований

name="ForeignKey.CreateIndex" value="true" />

name="BooleanValues" value="YesNo"/>

name="Domain">

name="BaseNamespace" value="Company.Business.%PROJECT_NAME%" />

name="Services">

name="BaseNamespace" value="Company.Business.%PROJECT_NAME%" />

name="Registry">

name="Schema" value="Core" />

name="PersistentSchema" value="CORE" />

name="RegistryEntity.Name" value="EntityRegistry" />

name="TypesEntity.Name" value="EntityType" />

name="TypesEntity.PrimaryId.Type" value="smallint" />

name="PrimaryId.Type" value="bigint" />

name="StateVersion">

name="Attribute.Name" value="Version" />

name="Attribute.Type" value="int" />

name="Audit" />

name="Localization" />

name="Security" />

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

За джиннами следуют конфигурации слоёв. Если для домена и служб можно пока ограничиться спецификацией базового пространства имён, то для слоя хранения, особенно при поддержке более чем одной СУБД, необходимо указать дополнительные ограничения вроде максимальной длины имён.

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

• Например, шаблон «Реестр объектов»добавляет к системе возможность ведения централизованного реестра всех создаваемых объектов. Реализован он как соответствующий класс и таблица, ссылка на которые добавляется ко всем другим классам (некоторые классы можно исключить через параметры шаблона).

Шаблон «Версия состояния»является встроенной в NHibernate возможностью отслеживания конфликтов в многопользовательской среде. Например, если два пользователя изменяют один и тот же объект, то последний из них, сохранивший объект, получит исключение, оповещающее о том, что данные были изменены со времени последнего редактирования. Шаблон реализуется добавлением соответствующего атрибута номера версии ко всем классам.

Шаблон «Аудит»в простейшем варианте является регистрацией для каждого хранимого объекта информации о времени его создания, последнем редактировании и авторе.

Шаблон «Локализация»добавляет в генерируемый код возможность перевода сообщений в рамках технологии GNU gettext.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x