Scaffold (программирование) - Scaffold (programming)
Строительные леса, используемый в вычислениях, относится к одному из двух методов: первый - метод генерации кода, связанный с доступом к базе данных в некоторых модель – представление – контроллер рамки; второй - это метод генерации проектов, поддерживаемый различными инструментами.
Генерация кода
Строительные леса - это техника, поддерживаемая некоторыми модель – представление – контроллер рамки, в котором программист может указать, как можно использовать базу данных приложения. В компилятор или платформа использует эту спецификацию вместе с предопределенными шаблонами кода для генерации окончательного кода, который приложение может использовать для создавать, читать, обновлять и удалять записи в базе данных, эффективно обрабатывая шаблоны как "строительные леса "для создания более мощного приложения.
Scaffolding - это эволюция генераторов кода базы данных из более ранних сред разработки, таких как Oracle CASE Generator и многих других. 4GL продукты для разработки клиент-серверного программного обеспечения.
Строительные леса стали популярными благодаря Рубин на рельсах рамки. Он был адаптирован к другим программным фреймворкам, включая Платформа OutSystems, Экспресс-фреймворк, Фреймворк игры, Джанго, web2py, MonoRail, Брайль, Symfony, Laravel, CodeIgniter, Yii, CakePHP, Phalcon PHP, Модель-клей, ПРАДО, Грааль, Катализатор, Mojolicious, Шовный каркас, Spring Roo, JHipster, Динамические данные ASP.NET, KumbiaPHP и ASP.NET MVC Помощники шаблонов метаданных framework.
Строительные леса во время выполнения и во время разработки
Строительные леса могут происходить на двух разных этапах жизненный цикл программы: время разработки и время выполнения. Создание шаблонов времени разработки создает файлы кода, которые впоследствии могут быть изменены программистом, чтобы настроить способ использования базы данных приложения. Однако для крупномасштабные приложения этот подход может быть трудно поддерживать из-за огромного количества созданных файлов и того факта, что дизайн файлов был в значительной степени исправлен, когда они были создан или скопирован из оригинальных шаблонов. В качестве альтернативы, скаффолдинг времени выполнения создает код на лету. Это позволяет немедленно отражать изменения в дизайне шаблонов во всем приложении. Но изменение дизайна шаблонов может быть более трудным или непрактичным в случае создания строительных лесов во время выполнения.
Строительные леса в Ruby on Rails
Когда линия эшафот:название модели
добавлен в контролер, Rails автоматически сгенерирует все соответствующие интерфейсы данных во время выполнения. Поскольку API создается на лету, программист не может легко изменить интерфейсы, созданные таким образом. Такие простые подмости часто используют для прототипирование приложений и ввод тестовых данных в базу данных.
Программист также может запустить внешнюю команду для предварительной генерации кода Ruby для скаффолда: рельсы создают строительные леса название модели
. В генерировать
script создаст файлы кода Ruby, которые приложение может использовать для взаимодействия с базой данных. Это несколько менее удобно, чем динамические строительные леса, но дает программисту гибкость в изменении и настройке сгенерированных API.
Примечание. Начиная с Rails 2.0, динамические скаффолдинги больше не хранятся.
Сторона сервера против лесов на стороне клиента
Методы создания лесов на основе базы данных приложения обычно включают Сторона сервера рамки. Веб-фреймворки на стороне сервера обычно выполняют операции непосредственно с записями базы данных, и можно рассмотреть возможность создания кода для этих операций Строительные леса на стороне сервера. В качестве альтернативы, Сторона клиента разработка часто использует рамки которые выполняют передача данных операций вместо прямого доступа к базе данных. В центре внимания Строительные леса на стороне клиента таким образом больше на создание стартового шаблона для приложения в целом, а не для генерации кода для доступа к базе данных.
Некоторые веб-фреймворки на стороне клиента, такие как Метеор, позволяют клиенту выполнять операции с базой данных аналогично фреймворкам на стороне сервера. В этом случае методы создания лесов могут выходить за рамки простого создания начального шаблона. Они могут выполнять время выполнения создание веб-форм на Сторона клиента к создавать, читать, обновлять и удалять записи в базе данных. Одним из примеров этого является дополнение к Метеор называется aldeed: autoform [1].
Генерация проекта
Сложные программные проекты часто разделяют определенные соглашения о структуре проекта и требованиях. Например, у них часто есть отдельные папки для исходный код, двоичные файлы и тесты кода, а также файлы, содержащие лицензионные соглашения, примечания к выпуску и контактная информация. Чтобы упростить создание проектов в соответствии с этими соглашениями, инструменты «строительных лесов» могут автоматически создавать их в начале каждого проекта. К таким инструментам относятся Йомен, Груз и Ritchie CLI.
Смотрите также
- Ускоритель (Производительность)
- Spring Roo
- Play Framework - Веб-фреймворк с открытым исходным кодом, написанный на Scala
- Гобелен Apache
- Symfony
- Laravel - Фреймворк веб-приложений с открытым исходным кодом, написанный на PHP
- Phalcon PHP
- Кохана
- Катализатор
- Mojolicious
- Динамические данные ASP.NET
- Рубин на рельсах - Серверная структура веб-приложений с открытым исходным кодом
- Yii - Фреймворк веб-приложений
- CodeIgniter
- CakePHP - Веб-фреймворк с открытым исходным кодом на PHP
- MonoRail
- ТопливоPHP
- Django (веб-фреймворк) - Веб-фреймворк Python
- Платформа OutSystems (PaaS)
- Йомен
внешняя ссылка
- Быстрое начало работы с помощью строительных лесов, Справочник по методам строительных лесов (С сайта rubyonrails.org)
- Инструментарий Rails Scaffolder's Toolbox - графический интерфейс для генераторов строительных лесов Rails (Приложение только для Mac, из Mac App Store)