Ниже приведена ссылка на API для метода в классе QmlDocument (Blackberry10).
Builder create (const QString & qmlAsset, boolautoLoad)
Создает и возвращает построитель для построения экземпляра QmlDocument с родительским объектом и именем ресурса для загрузки документа.
Параметры qmlAsset Имя ресурса QML загружает документ из, указанного относительно корня ресурсов. autoLoad, если true, документ загружен автоматически, в противном случае требуется явно вызвать функцию загрузки. Значение по умолчанию - true. Начиная с: BlackBerry 10.0.0
Теперь, что именно подразумевается под "Строителем" здесь. В чем его цель? какова разница в создании объекта из класса QmlDocument с "новым" ключевым словом и создании объекта с помощью метода, определенного выше?
Строители обычно являются классами, определенными локально для ассоциированного класса (т.е. QmlDocument :: Builder), которые позволяют перебирать методы с помощью operator.()
operator.()
аналогично тому, как это делается с iostreams и operator <<()
. То, что вы получаете, это более читаемый способ создания объектов (и, возможно, их childre) в одном статусе, а не создания с помощью new
оператора и нескольких вызовов функций. Лучшим примером, чем QmlDocument, может быть класс Container:
Container *container1 = Container::create()
.preferredSize(200, 200)
.background(Color::Blue);
Это создает новый Контейнер, устанавливает предпочтительный размер и цвет фона. Детали реализации скрыты. Несколько аналогично непрозрачному типу C.