Масштабируемая логическая архитектура на основе компонентов - Component-based Scalable Logical Architecture

Масштабируемая логическая архитектура на основе компонентов (CSLA)
Csla win8 full.png
Стабильный выпуск
4.11.2 / 31 июля 2019 г.; 15 месяцев назад (2019-07-31)[1]
РепозиторийCSLA Repo
Написано вC #
Операционная системаWindows, macOS, Linux, iOS, Android
ТипФреймворк веб-приложений
ЛицензияЛицензия MIT
Интернет сайтwww.cslanet.com

CSLA .NET это программная среда созданный Rockford Lhotka, который предоставляет стандартный способ создания надежных объектно-ориентированный программы, использующие бизнес-объекты. Бизнес-объекты - это объекты, которые абстрагируют бизнес-объекты в объектно-ориентированной программе. Некоторые примеры бизнес-сущностей включают заказы на продажу, сотрудников или счета-фактуры.

Хотя сам CSLA можно загрузить бесплатно, единственная документация, которую предоставляет создатель, - это его книги и видео, которые не являются бесплатными.

CSLA (Масштабируемая логическая архитектура на основе компонентов) изначально был нацелен на Visual Basic 6 в книге Бизнес-объекты Visual Basic 6.0 пользователя Lhotka.[2] С появлением Microsoft .NET, CSLA был полностью переписан с нуля, без переноса кода, и получил название CSLA .NET. В этой редакции использовались преимущества Веб-сервисы и объектно-ориентированные языки, поставляемые с Microsoft .NET (в частности, Visual Basic.NET и C # ).

CSLA .NET была изложена в Эксперт C # Business Objects [3] и Индивидуальные бизнес-объекты Visual Basic .NET для экспертов ISBN  1-59059-145-3, оба написаны Lhotka. Хотя CSLA и CSLA .NET изначально были нацелены на Microsoft языки программирования, большая часть структуры может быть применена к большинству объектно-ориентированных языков.

Текущая информация о CSLA .NET доступна через самоиздаваемый Lhotka Использование CSLA 4 серия электронных книг.[4]

Особенности CSLA

Умные данные

Бизнес-объект инкапсулирует все данные и поведение (бизнес-логику и правила), связанные с представляемым им объектом. Например, объект OrderEdit будет содержать данные и реализации бизнес-правил, необходимые для того, чтобы приложение правильно позволяло пользователю редактировать информацию о заказе.

Механизм правил

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

Сохранение объекта

Создание, получение, обновление и удаление данных (CRUD ) выполняются четко определенными методами бизнес-объекта, связанного с тестированием данных. Логика доступа к данным четко отделена от бизнес-логики, обычно с использованием шаблон репозитория или другой основной объектно-ориентированного программирования техники.

Поддержание метастатических состояний

CSLA .NET управляет метастат о каждом бизнес-объекте. Например, каждый бизнес-объект отслеживает информацию о том, когда он новый (он представляет данные, которые еще не были сохранены), и когда он загрязнен (его необходимо сохранить в базе данных либо потому, что он новый, либо потому, что данные его членов содержат был изменен с момента последней загрузки). Бизнес-объекты также могут быть помечены для удаления, чтобы их можно было удалить позже (например, когда пользователь нажал кнопку, подтверждающую его или ее намерение удалить строки).

п-Уровень отменить

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

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

Отслеживание бизнес-правил

Позволяет объектам поддерживать коллекции объектов «нарушенных правил». Нарушенные правила будут существовать для объекта до тех пор, пока он не перейдет в допустимое состояние, что означает, что он готов к сохранению в базе данных. BrokenRule объекты обычно связаны с логикой проверки, такой как обеспечение того, чтобы в поле номера телефона не вводились буквенные символы. Например, если Счет объект имеет Телефонный номер свойство, и этому свойству присваивается номер телефона с буквенными символами, Счет объекты Действует свойство станет false (что сделает невозможным сохранение в базу данных), а затем появится новый BrokenRule объект будет создан и назначен учетной записи Нарушенные правила коллекция. Правило исчезнет, ​​когда неверный номер телефона будет исправлен, и объект Account сможет сохранить себя в базе данных.

Расширенные возможности CSLA

Простое создание пользовательского интерфейса

Бизнес-объекты, созданные с использованием CSLA .NET, полностью поддерживают привязку данных для всех Microsoft .NET UI-технологии, в том числе Среда выполнения Windows (WinRT ), WPF, Веб-формы, ASP.NET MVC, телефон с операционной системой Виндоус, Silverlight, и Windows Forms. Элементы управления с привязкой к данным, такие как DataGrids и ListBoxes, могут быть привязаны к бизнес-объектам вместо более общих объектов базы данных, таких как ADO.NET Наборы данных и таблицы данных.

Распределенный доступ к данным

Платформа CSLA .NET реализует концепцию, называемую мобильные объекты или же мобильные агенты чтобы позволить объектам перемещаться через границы сети, используя WCF, Веб-сервисы, или другие технологии. В результате доступ к данным имеет прозрачность местоположения, что означает, что логика может работать на клиентской рабочей станции или сервере в зависимости от конфигурации приложения. Его также можно настроить для использования вручную транзакции базы данных или распространены двухфазная фиксация транзакции.

Логика доступа к данным четко отделена от бизнес-логики и может быть реализована с использованием любой технологии доступа к данным, доступной на Microsoft .NET Платформа. Примеры включают ADO.NET Entity Framework, сырой ADO.NET, nHibernate, так далее.

Поддержка веб-служб

Бизнес-логика, созданная с помощью платформы CSLA .NET, может быть легко представлена ​​удаленным потребителям в виде веб-службы. Это можно сделать на стороне сервера. Microsoft .NET такие технологии как Веб-API, WCF, и asmx веб-сервисы.

Рекомендации

  1. ^ «Версия 4.11.2». Github. Получено 4 сентября 2019.
  2. ^ Бизнес-объекты Visual Basic 6.0 ISBN  1-86100-107-Х
  3. ^ Эксперт C # Business Objects ISBN  1-59059-344-8
  4. ^ Используя CSLA 4 («Архивная копия». Архивировано из оригинал на 2013-03-11. Получено 2013-02-23.CS1 maint: заархивированная копия как заголовок (связь))

внешняя ссылка