9.1. Создание программ, управляемых данными
9.1. Создание программ, управляемых данными
При создании программ, управляемых данными (data-driven programming), код и структуры данных, на которые он воздействует, четко отделяются друг от друга и проектируются так, чтобы можно было изменять логику программы путем редактирования не кода, а структуры данных.
Создание программ, управляемых данными, иногда путают с объектно-ориентированным программированием — еще одним стилем программирования, в котором самое важное значение имеет организация данных. Между данными стилями есть как минимум два отличия. Одно из них заключается в том, что в первом случае данные представляют собой не просто состояние некоторого объекта, а фактически определяют управляющую логику программы. Тогда как основной проблемой в ОО-программировании является инкапсуляция, основная проблема при создании программ, управляемых данными, заключается в написании как можно меньшего количества фиксированного кода. Операционная система Unix имеет более устойчивые традиции в создании программ, управляемых данными, чем в ОО-программировании.
Разработку управляемых данными программ также часто путают с написанием конечных автоматов. Выразить логику конечного автомата в виде таблицы или структуры данных действительно возможно, однако запрограммированные вручную конечные автоматы обычно представляют собой жесткие блоки кода, которые гораздо труднее модифицировать, чем таблицу.
При выполнении любого вида генерации кода или создании программ, управляемых данными, необходимо помнить важное правило: решение проблемы всегда следует переносить на более высокие уровни. Не следует вручную улучшать сгенерированный код или любые промежуточные формы представления. Вместо этого следует задуматься о способе усовершенствования или замены средства трансляции. Иначе, вероятно, выяснится, что улучшение вручную кода, который должен был быть корректно сгенерированным машиной, превратится в бесконечную трату времени.
На верхней границе шкалы сложности создание управляемых данными программ сливается с написанием интерпретаторов для p-кода или простых мини-языков, которые рассматривались в главе 8. На других границах оно сливается с генерацией кода и программированием конечных автоматов. Различия фактически не так важны. Важной частью является перемещение логики программы из жестко закодированных управляющих структур в данные.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Создание объекта для обмена данными между XML-файлом и формой
Создание объекта для обмена данными между XML-файлом и формой В отличие от рассмотренного выше сценария PhoneBook.wsf, в сценарии IEPhoneBook.js функции для работы с записной книжкой не будут разделены по разным заданиям, поэтому для более четкой организации сценария мы воспользуемся
Работа с бинарными данными
Работа с бинарными данными packПакетирование данных в двоичную строку.Синтаксис:string pack(string format [,mixed $args, ...]);Функция pack() упаковывает заданные аргументы в бинарную строку, которая затем и возвращается. Формат параметров, а также их количество, задается при помощи строки $format,
Создание программ
Создание программ Программное обеспечение любой вычислительной системы можно условно разделить на два типа: системное и прикладное. Примеры системного программного обеспечения — операционные системы, ассемблеры и компиляторы. Прикладное же программное обеспечение
Инсталляция, управляемая данными
Инсталляция, управляемая данными Традиционно программы инсталляции используют для управления процессом установки программ скрипты. Каждая инсталляционная программа содержит скрипт, то есть набор инструкций по установке конкретного программного продукта. Эти жестко
Создание новых записей в форме, связанной с данными
Создание новых записей в форме, связанной с данными Для создания новой записи в связанном с данными приложении на основе Windows Forms нужно использовать метод AddNew объекта BindingContext. При выполнении этого метода любые связанные с данными элементы управления очищаются для ввода
Создание более сложных программ
Создание более сложных программ Создавать VBA-программы, добавляющие функциональные возможности существующим приложениям, может каждый, кто способен запомнить свое школьное расписание или прочитать за завтраком инструкцию на упаковке с вермишелью быстрого
9.1. Создание программ, управляемых данными
9.1. Создание программ, управляемых данными При создании программ, управляемых данными (data-driven programming), код и структуры данных, на которые он воздействует, четко отделяются друг от друга и проектируются так, чтобы можно было изменять логику программы путем редактирования не
Глава 17. Создание пакетов и распространение программ
Глава 17. Создание пакетов и распространение программ Все больше и больше продуктов — и в первую очередь аспирин — выпускается в упаковке, защищенной до такой степени, что потребитель уже и воспользоваться ими не может. Дэйв Бэрри Эта глава посвящена вопросу о том, как
8.1. Создание дисков с архивными данными на Data CD/DVD
8.1. Создание дисков с архивными данными на Data CD/DVD Часто возникает необходимость записать на компакт-диск различную информацию. Например, сохранить нужные вам документы, записать на один диск различные программы. Это нужно делать не только с целью освобождения свободного
Язык манипулирования данными (DML)
Язык манипулирования данными (DML) Операторы DML, их синтаксис и выражения для поиска и манипулирования наборами данных являются предметом рассмотрения этой части книги.* В главе 20 вводится концепция наборов, структура и синтаксис запросов DML. Глава включает разд. "Тема
XSLT при обмене данными
XSLT при обмене данными В предыдущей главе мы обсудили преимущества применения XML в проектах интеграции: определение общего XML-языка снижает трудозатраты по реализации обмена данными между различными системами. При этом экспорт данных в общем формате выполняется
16.2. Простой интерпретатор программ, управляемых образцами
16.2. Простой интерпретатор программ, управляемых образцами Для описания модулей, управляемых образцами, мы применим следующую синтаксическую конструкцию:ЧастьУсловия ---> ЧастьДействияЧасть условия представляет собой список условий:[ Условие1, Условие2, Условие3, ...]где
Военная тайна эскимосов, или Смартфон для управляемых снов Лёха Андреев
Военная тайна эскимосов, или Смартфон для управляемых снов Лёха Андреев Опубликовано 12 марта 2014 В самом конце обсуждения моей колонки про украинский язык завалялся комментарий, который был чуть ли не единственным по теме статьи. В комментарии
Создание тренировочных и образовательных программ
Создание тренировочных и образовательных программ Выпуская брошюру политик информационной безопасности или направляя рабочих на Интранет-страницу с этими правилами, но которая не содержит простого разъяснения деталей, вы уменьшаете риск. Каждый бизнес должен не
6.4. СИСТЕМЫ ИЗ ПРОГРАММ, ОБМЕНИВАЮЩИХСЯ ДАННЫМИ ЧЕРЕЗ ПОРТЫ
6.4. СИСТЕМЫ ИЗ ПРОГРАММ, ОБМЕНИВАЮЩИХСЯ ДАННЫМИ ЧЕРЕЗ ПОРТЫ Такой обмен обычно реализуется при многопроцессорной (многомашинной) обработке. Порт каждой из программ представляет программу накопления и верификации как входных, так и выходных данных в соответствующих