Мой скрипт:
echo "WARNINGS: $warningsFound WARNINGS FOUND:\n$warningStrings
Вывод:
WARNING : 2 WARNINGS FOUND:\nWarning, found the following local orphaned signature file:
В моем сценарии bash я злился, пока я не попробовал:
echo "WARNING : $warningsFound WARNINGS FOUND:
$warningStrings"
Просто нажмите Enter, где вы хотите вставить этот прыжок. Выходные данные теперь:
WARNING : 2 WARNINGS FOUND:
Warning, found the following local orphaned signature file:
В двух словах: Слабая связь
Для хранения кода Вы используете для получения по запросу данных из хранилища данных (база данных, плоские файлы, веб-сервисы, безотносительно) отдельный от кода презентации и бизнес-логики. Таким образом, если необходимо изменить хранилища данных, Вы не заканчиваете тем, что переписали все это.
В эти дни, различные платформы ORM являются видом смешивания DAL с другими слоями. Это обычно делает разработку легче, но изменяющий хранилища данных может быть болезненным. Честно говоря, изменение хранилищ данных как этот является довольно редким.
Уровни доступа к данным имеют большой смысл, когда много различных частей Вашего приложения должны получить доступ к данным тот же путь.
Это также имеет смысл, когда Вы должны получить доступ к тем же данным по-разному. Например, как текстовые процессоры могут считать много различных типов файлов и тихо преобразовать их во внутренний формат приложения.
Имеют в виду, что DAL может также быть самым продуктивным счетчиком. При создании системы, где производительность доступа к данным очень важна, разделение ее от бизнес-логики может сделать некоторую жизненную оптимизацию невозможной.
Цель состоит в том, чтобы абстрагировать детали доступа к базе данных, которыми не должны касаться другие части Вашего приложения.
Уровень доступа к данным привык к краткому обзору далеко устройство хранения данных и извлечение данных из его представления. Можно читать больше об этом виде абстракции в 1994 Шаблоны разработки
DAL должен абстрагировать Вашу базу данных от остальной части Вашего проекта - в основном, не должно быть никакого SQL ни в каком коде кроме DAL, и только DAL должен знать структуру базы данных.
цель состоит в том, чтобы главным образом изолировать остальную часть Вашего приложения от изменений базы данных, и помочь расширить и поддерживать Ваше приложение, потому что Вы будете всегда знать, куда пойти для изменения кода взаимодействия базы данных.
Уровень доступа к данным следует за идеей "разделения проблем", посредством чего вся логика, необходимая, чтобы Ваша бизнес-логика взаимодействовала с Вашим слоем данных (база данных), изолируется к единственному набору классов (слой). Это позволяет Вам более легко изменять бэкенд физическая технология хранения данных (перемещение от XML-файлов до базы данных, или от SQL Server до Oracle или MySQL, например), не оказывая большое влияние (и при правильной организации оказывая нулевое влияние) к Вашей бизнес-логике.
существует много инструментов, которые помогут Вам создать свой слой данных. Если Вы ищете фразу, "возражают реляционному картопостроителю" или "ORM", необходимо найти некоторую более подробную информацию.
Цель состоит в том, чтобы абстрагировать механизм извлечения хранения данных от использования данных и управления.
Преимущества:
Я рекомендую читать здесь: http://msdn.microsoft.com/en-us/practices/default.aspx Используя DAL поможет Вам изолировать свой доступ к данным от Вашей презентации и бизнес-логики. Я использую его много так, чтобы я мог легко выгрузить (посредством отражения и динамично загружающихся блоков) поставщиков данных.
Read, много хорошей информации там.
кроме того, изучите Блок Доступа к данным , если Вы - планирование использования.NET. Это может быть большая справка.