Содержание
- 2. Основные определения Предметная область — часть реального мира, рассматриваемая в пределах данного контекста. Под контекстом здесь
- 3. Основные определения Бизнес-процесс (Business process) – это совокупность взаимосвязанных мероприятий или задач, направленных на создание определенного
- 4. Основные определения Бизнес-правило (БП) (Business rule) – правило, принятое в компании (бизнесе). Правило, которое определяет или
- 5. Основные определения Бизнес-логика (Business logic, Domain logic) – Совокупность бизнес-правил, принципов, зависимостей поведения объектов предметной области
- 6. Основные определения Бизнес-транзакция (Business transaction) – Определение 1. Это взаимодействие между бизнесом (компанией) и его клиентами,
- 7. Слои информационной системы Источник картинки
- 8. Структурирование слоя БЛ по М. Фаулеру Сценарий транзакции Модуль таблицы Модель предметной области
- 9. Предметная область для примера
- 10. Сценарий транзакций Способ организации бизнес-логики по процедурам, каждая из которых обслуживает один запрос, инициируемый споем представления
- 11. Пример сценария транзакций Вычисление зачётного дохода
- 12. Пример class RecognitionService { private IDataGateway _dataGateway; public SystemController(IDataGateway dataGateway) {_dataGateway = dataGateway;} public void CalculateRecognitions(int
- 13. Варианты реализации сценария транзакции Источник картинки здесь
- 14. Сценарий транзакции. «За и против» Преимущества: представляет собой удобную процедурную модель, легко воспринимаемую всеми разработчиками; удачно
- 15. Модуль таблицы Объект, охватывающий логику обработки всех записей хранимой или виртуальной таблицы базы данных
- 16. Модуль таблицы Источник картинки здесь
- 17. Пример class Contracts : DataTable { public void Insert( int ContractId, string contractor, …){…} public void
- 18. Пример class Contract... public void CalculateRecognitions( int contractID) { DataRow contractRow = this[contractID]; Decimal amount =
- 19. Пример Decimal!] allocation = allocate(amount, 3); rr.Insert (contractID, allocation[0], (DateTime)GetWhenSigned(contractID) ) ; rr.Insert (contractID, allocation[1], (DateTime)
- 20. Модуль таблицы. «За и против» Преимущества: Представляет понятное решение – компромиссный вариант между сценарием транзакции и
- 21. DataSet (.NET Framework) Представляет т.н. отсоединённый набор данных в табличном виде Не зависит от используемой СУБД.
- 22. public partial class OrderWindow : Form { public OrderWindow() { InitializeComponent(); } private void OrderWindow_Load(object sender,
- 23. Данные привязки
- 24. Модель предметной области Объектная модель домена, охватывающая поведение (функции) и свойства (данные)
- 25. Пример модели предметно й области Вычисление зачётного дохода
- 26. Пример class Contract : Entity { Product _product; public Recognition CalculateRecognitions() { return _product.CalculateRecognitions( this );
- 27. Пример class Product : Entity { public Product(IRecognitionStrategy recStrategy) { _recStrategy = recStrategy; } private IRecognitionStrategy
- 28. Модель предметной области. «За и против» Преимущества: Высокая эффективность борьбы со сложностью предметной области за счёт
- 29. Зависимость стоимости реализации различных схем организации БЛ от её сложности Источник картинки здесь
- 30. Уровень служб (сервисов) Источник картинки
- 31. Расщепление слоя БЛ Слой бизнес-логики Слой служб (фасад приложения) модель бизнес-логики
- 32. Назначение слоя служб Определяет границы приложения и множество операций, предоставляемых им для интерфейсных клиентских слоев кода.
- 33. Варианты реализации слоя служб Интерфейс доступа к домену (domain facade) Сценарий операции (operation script).
- 34. Интерфейс доступа к домену Реализуется как набор "тонких" интерфейсов, размещенных "поверх" модели предметной области. В классах,
- 35. Сценарий операции Реализуется слой служб как множество более "толстых" классов, которые непосредственно воплощают в себе логику
- 36. Варианты взаимодействия слоя служб и слоя БЛ
- 37. 1-1 (Сценарий операции – сценарий транзакции)
- 38. 1-1 (Модуль таблицы – сценарий операции)
- 39. 3-1 (Модель предметной области– сценарий операции)
- 40. Типовые конфигурации слоя служб и слоя БЛ (На базе интерфейса доступа к домену)
- 41. Граница-Контроллер – Сущность
- 42. Граница-Контроллер – Сущность
- 43. Супертип слоя Тип, выполняющий роль суперкласса для всех классов своего слоя Может быть определён для любого
- 44. Пример супертипа слоя служб Интерфейс IATMService задаёт спецификацию операция, выполняемых системой (банкоматом) Позволяет развивать систему независимо
- 45. Пример. АТМ
- 46. static class Program { /// /// The main entry point for the application. /// [STAThread] static
- 47. public partial class PINWIndow : Form { private readonly PinController _pinController; public PINWIndow(PinController pinController) { _pinController
- 48. public class PinController { private readonly ICreditCardDevice _creditCardDevice; private readonly IDataGateway _dataGateway; public PinController(int maxPinLen, ICreditCardDevice
- 49. public interface ICreditCardDevice { string CreditCardNum { get; } } class StubCreditCardDevice : ICreditCardDevice { public
- 50. public interface IDataGateway { CreditCard GetCreditCardByNumber(string ccNum); } class StubDataGateway : IDataGateway { private readonly string
- 51. public class CreditCard { public string Number { get; set; } public Account Account { get;
- 52. Application Controller Позволяет инкапсулировать логику навигации по приложению
- 53. Model-View-Controller
- 54. Observer (наблюдатель)
- 56. Скачать презентацию