Способ мышления-Форт



             

Девять фаз цикла программирования - часть 15


Стрелки показывают входы и выходы преобразований.

Рис.2-3. Диаграмма потоков данных.

-->\ (из производственной линии) \ ЗАПРОС НА ЗАПРОС НА МАТЕРИАЛЫ ЗАКУПКУ \ / \ \ +-----------+/ +\--------------------+ \| ПРОВЕРИТЬ + | ПОЛУЧИТЬ РАЗРЕШЕНИЕ | \ НАЛИЧИЕ | | НА ЗАКУПКУ | +------+----+ +------+--------------+

Диаграмма живописует застывший момент в работе системы. Она оставляет без внимания инициализацию, структуры циклов и другие детали программирования, которые зависят от времени.

При использовании ДПД достигаются три плюса:

Во-первых, они дают сведения заказчику при помощи простых, прямых терминов. Если он соглашается с содержимым Вашей диаграммы потоков данных, то Вы знаете, что понимаете проблему.

Во-вторых, они помогают Вам думать в терминах логических "ЧТО", без углубления в процедурные "КАК", что согласуется с философией упрятывания информации, обсужденной нами в предыдущей главе.

В-третьих, они фокусируют Ваше внимание на интерфейсах к системе и между модулями.

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

Даже для тех, кто всего несколько дней знаком с Фортом, простые определения содержат по крайней мере столько же смысла, сколько диаграммы:

: ЗАПРОС ( количество наименование -- ) ПОД-РУКОЙ? IF ВЫДАТЬ ELSE ПЕРЕАДРЕСОВАТЬ THEN ; : ПЕРЕАДРЕСОВАТЬ ЗАВЕРЕНО? IF ПОКУПКА THEN ; : ПОКУПКА АРХИВНАЯ КОПИЯ СКЛАДСКАЯ КОПИЯ ЗАКУПОЧНАЯ КОПИЯ ;

Это - псевдокод на Форте. Не было сделано никаких попыток конкретизировать, какие величины в действительности передаются через стек, поскольку это - детали реализации. Стековый комментарий для слова ЗАПРОС использован только для указания двух видов данных, необходимых для начала процесса.




Содержание  Назад  Вперед