среда, 5 августа 2009 г.

Функции ПО: их роль.

Та или иная программа реализует некоторый набор функций. Это очевидно с позиции пользователя. С точки зрения программиста пользовательская функция представляется в виде структуры функций более мелких (вспомогательных), нередко обёрнутых в классы и интерфейсы. Для пользователя набор ему полезных функций растёт - таков уж он, подавай всего и сразу. Для программиста, который реализует все требования пользователя, расширение возможностей программы связано с увеличением числа его языковых функций (и, следовательно, числа классов и интерфейсов). Последние переплетаются под гнётом изобилия программного комбайна, делают проект запутанным, неповоротливым и мало пригодным для изменений.
Чтобы этого избежать нужно сделать следующее:

  1. Ограничить пользовательскую функциональность (заострить внимание на приоритетных вопросах, поскольку автоматизировать всё не имеет смысла; автоматизации подвергается лишь самое трудоёмкое).

  2. Ограничить функциональность архитектурную (изолировать понятия предметной области, сделать их обособленными; ради того, чтобы их удаление, то есть отказ от конкретной функции, происходило максимально безболезненно).


Некоторые функции (в контексте программирования) образуют костяк, на основе которого и держится всё здание проекта. Их число минимально. Другие функции реализуют предметную область и операции над данными. Их роль в программообразующем контексте мала, а раз так, то манипулирование ими должно осуществляться максимально легко.

Комментариев нет: