Главная » Delphi » Классические ошибки

0

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

Например, при передаче динамических операторов SQL от клиента серверу  необхо димо, чтобы клиентская часть была четко синхронизирована с уровнем данных. По этой причине возрастает количество перемещений данных, которые должны  быть скоорди нированы во всем  приложении. При  изменении структуры  одной  таблицы на уровне данных потребуется обновить все клиентские приложения, где используются динамиче ские  операторы SQL, чтобы  они  могли  передавать на сервер корректные операторы. Это, естественно, ограничивает преимущества “тонких” клиентских приложений.

В качестве другого  примера можно  привести ситуацию, когда  клиентское прило жение пытается управлять временем жизни  транзакции, вместо  предоставления та кой возможности приложению уровня  бизнес  правил.  Зачастую  это реализуется с по мощью публикации методов BeginTransaction(), Commit() и RollBack() экземп ляра  класса  TDataBase на сервере и последующего вызова  их из  клиентской части приложения. При  этом код клиента становится более  сложным для сопровождения, а главное — нарушается принцип, согласно которому лишь уровень  представления дол жен отвечать за взаимодействие с уровнем  данных.  Никогда не следует полагаться на такой   подход.   Наоборот,  обновления  необходимо передавать  на  уровень   бизнес правил, который и будет производить обновление данных в транзакции.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии