Категории
Самые читаемые
onlinekniga.com » Бизнес » Управление, подбор персонала » Основы проектирования корпоративных систем - Сергей Зыков

Основы проектирования корпоративных систем - Сергей Зыков

Читать онлайн Основы проектирования корпоративных систем - Сергей Зыков

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 49 50 51 52 53 54 55 56 57 ... 129
Перейти на страницу:

Прежде всего платформа. NET использует компонентный подход. По сути дела, это развитие объектно-ориентированной модели, компонент – это несколько большее понятие, чем объект, и достаточно важное, по сути дела, это некий программный модуль, на основе которого строятся приложения, взаимозаменяемый, стандартного рода модуль, который представляет собой молекулу функциональности.

Еще одним важным аспектом вычислительной модели является универсальная или обобщенная система типизации Common Type System. Здесь реализуется достаточно инновационный подход Microsoft, который сводится к декларации, что каждая сущность есть объект. То есть речь идет о чисто объектно-ориентированном подходе и попытке реализовать эту идею, а также об унификации данных и метаданных. Во всяком случае появляется достаточно хорошее средство использования метаданных. Репозиторий метаданных реализован достаточно эффективно, в частности, следует отметить средство Reflection, которое позволяет восстановить код по метаданным класса. Сборка или представление компонента включают в себя все метаданные, которые необходимы для разворачивания этого компонента как части программного продукта.

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

Обобщенный интерфейс. NET Framework базовых, системных классов является надстройкой над OC Windows и позволяет, кроме всего прочего, осуществить интеграцию различных подходов к программированию, таких как ООП, функциональный, логический и др.

Для. NET реализован целый ряд языков программирования, которые транслируются во внутреннюю среду абстрактной или виртуальной машины. NET. Это прежде всего родной язык. NET Си#; это F#, который, по сути, является развитием языка SML, т. е., с одной стороны, он во многом является функциональным языком, но с другой – реализует и некоторые аспекты ООП, поскольку функция является объектом модели и язык моделирует объектный подход; ряд языков Cobol, Fortran, которые использовались в большом количестве унаследованных проектов, и. NET, позволяет портировать проекты унаследованных приложений, в том числе корпоративных, которых очень много.

Языки логического программирования, такие как Prolog, поддерживаются в. NET, и любой новый или известный язык в виде компилятора для. NET можно реализовать самостоятельно.

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

Перечислим основные особенности технологической платформы. NET.

Многоязыковая поддержка. Нет ни одной другой платформы, на которой можно использовать так много языков программирования, как в. NET: всего их насчитывается около сотни.

NET интересна как платформа для обучения программированию, можно познакомиться с различными аспектами.

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

Независимо от языка программирования и программной модели поддерживается унификация доступа к библиотекам за счет общего интерфейса с виртуальной машиной. NET. Здесь используется аналог API-интерфейса, т. е. открытого интерфейса на основе классов, который можно достаточно гибко настраивать.

Также важно отметить, что. NET во многом соответствует современным технологическим стандартам. Язык C# сейчас фактически стандартизован европейской ассоциацией стандартов, и во многом используются стандартные протоколы обмена и стандарты таких данных, как HTTP, XML, UML, SOAP, протоколы взаимодействия.

Как инструментальное средство, NET является достаточно универсальным, поскольку поддерживает многоязыковую среду Common Language Runtime (CLR), которая, как упоминалось ранее, поддерживает разработку компонентов на различных языках. При этом важной особенностью является возможность построения фрагментов проекта на наиболее подходящих для этого языках.

При реализации бизнес-логики и интерфейса их, конечно, необходимо разделять. Бизнес-логику лучше реализовать на Прологе как набор условий и логических альтернатив, другой подход – сделать это на функциональном языке, таком как F#, а интерфейс можно достаточно легко реализовать на C#, который включает все механизмы взаимодействия с Windows и библиотеками. NET Framework наиболее быстрым и прозрачным способом, т. е. различные компоненты достаточно быстро реализуются.

И в этом смысле у. NET практически нет альтернатив, такого большого спектра языков и разнообразия подходов больше не найти. Причем сервисные средства. NET, такие как отладка, анализ кода и т. д., поддерживаются для всех без исключения языков, реализованных в рамках Visual Studio. То есть на каком бы языке ни велась разработка, программист получает все сервисные возможности, интегрированные в среду разработки. Как было сказано ранее, можно разрабатывать собственные языки программирования, это достаточно интересно и актуально. Одним из современных направлений развития программной инженерии является создание программного обеспечения на основе DSL – предметно-ориентированных языков, т. е. языков для приложений того или иного рода, той или иной предметной области.

Можно заметить, что одни языки разработаны Microsoft, другие – сторонними организациями и т. д. То есть существует бесконечное их разнообразие, поскольку есть возможность создать любой язык, погрузить его в. NET и экспериментировать.

Посмотрим на архитектурную схему: сбоку, интегрируя все доступные сервисы (рис. 8.1), начиная с уровня естественного языка, с уровня исходного кода на языке программирования, находится Visual Studio.NET – как средство разработки, оно интегрирует все особенности платформы. Основой для программирования являются различные языки программирования. Работа происходит в исходном тексте, в стандартном редакторе Visual Studio.NET, при этом на любом языке. Типы этого языка, какими бы своеобразными они ни были, транслируются автоматически при трансляции кода в стандартные системные типы. NET, т. е. имеют место трансляции в типы Common Language Specification (CLS). Далее используются на уровне пользовательского интерфейса различные веб-формы, веб-сервисы, скажем, средства SP.NET Windows Forms, технологии, связанные с. NET Remoting, и т. д. На уровне взаимодействия с данными используются технологии ADO.NET и т. д., слабоструктурированные данные могут преобразовываться по средствам форматов в стандарты XML. Естественно, все взаимодействие со средой выполнения строится на основе базовых классов. NET Framework, которые едины для любого языка программирования, строятся на основе компонентов, берущих свое начало в базовых классах. И все трансляции осуществляются в термины ассемблера высокого уровня – это ассемблер Common Language Runtime (CLR), т. е. виртуальной машины. NET (рис. 8.2).

1 ... 49 50 51 52 53 54 55 56 57 ... 129
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Основы проектирования корпоративных систем - Сергей Зыков.
Комментарии