Существуют проблемы, которые легко решить с внедрением зависимости, которые так легко не решены с комплектом фабрик.
Часть различия между, с одной стороны, инверсия управления и внедрения зависимости (МОК/DI), и, с другой стороны, сервисный локатор или комплект фабрик (фабрика):
МОК/DI является полной экосистемой объектов области и сервисов в и себя. Это настраивает все для Вас в способе, которым Вы указываете. Ваши объекты области и сервисы создаются контейнером и не создают себя: они поэтому не имеют никакой зависимости от контейнера или ни от каких фабрик. МОК/DI разрешает чрезвычайно высокую степень конфигурируемости, со всей конфигурацией в единственном месте (конструкция контейнера) в верхнем слои Вашего приложения (GUI, веб-фронтенд).
краткие обзоры Фабрики далеко часть конструкции Ваших объектов области и сервисов. Но объекты области и сервисы все еще ответственны за выяснение, как создать себя и как получить все вещи, от которых они зависят. Все эти "активные" зависимости фильтруют полностью через все слои в Вашем приложении. Нет никакого единственного места для движения для конфигурирования всего.
Это может быть однострочный текст в R , где я использую маленький интерфейс сценария:
# generate the data as a one-liner from the command-line
# we set the RNG seed, and draw from a bunch of distributions
# indented just to fit the box here
edd@ron:~$ r -e'set.seed(42); write.csv(data.frame(y=runif(10), x1=rnorm(10),
x2=rt(10,4), x3=rpois(10, 0.4)), file="/tmp/neil.csv",
quote=FALSE, row.names=FALSE)'
edd@ron:~$ cat /tmp/neil.csv
y,x1,x2,x3
0.914806043496355,-0.106124516091484,0.830735621223563,0
0.937075413297862,1.51152199743894,1.6707628713402,0
0.286139534786344,-0.0946590384130976,-0.282485683052060,0
0.830447626067325,2.01842371387704,0.714442314565005,0
0.641745518893003,-0.062714099052421,-1.08008578470128,0
0.519095949130133,1.30486965422349,2.28674786332467,0
0.736588314641267,2.28664539270111,-0.73270267483628,1
0.134666597237810,-1.38886070111234,-1.45317770550920,1
0.656992290401831,-0.278788766817371,-1.01676025893376,1
0.70506478403695,-0.133321336393658,0.404860813371462,0
edd@ron:~$
Вы не сказали что-нибудь о процессе генерации данных, но будьте уверены, что R, вероятно, справится практически с любыми требованиями, включая многомерное нормальное, t, перекос-t и другие. (Шесть различных) генераторов случайных чисел в R также имеют очень высокое качество.
R также может записывать в БД или считывать из них параметры, и если он должен быть на Windoze, тогда интерфейс Rscript может быть используется вместо маленького.
Если я правильно помню, " * chrome
"используется для запуска специального режима Firefox (режим, в котором ваше приложение имеет больше привилегий - с меньшими ограничениями безопасности) ; поэтому запускается именно Firefox, а не Google Chrome.
Если вы хотите запустить Google Chrome, вам нужно будет использовать что-то еще, кроме « * chrome
».
Использование Selenium RC в интерактивном режиме, примерно так:
$ java -jar selenium-server.jar -interactive
и неправильное использование команды getNewBrowserSession
:
cmd=getNewBrowserSession
Я получаю список поддерживаемых браузеров:
23:43:09.317 INFO - Got result: Failed to start new browser session: Browser not supported:
(Did you forget to add a *?)
Supported browsers include:
*firefox
*mock
*firefoxproxy
*pifirefox
*chrome
*iexploreproxy
*iexplore
*firefox3
*safariproxy
*googlechrome
*konqueror
*firefox2
*safari
*piiexplore
*firefoxchrome
*opera
*iehta
*custom
on session null
Итак, я ' m догадываюсь , вы сможете запустить Google Chrome с помощью " решение Rails ActiveRecord).
Функции, которые я искал, были:
Полезные функции:
Ответ, который я принял как Databene Benerator . Хотя с тех пор, как задал вопрос, признаю, что не особо им пользовался.
Я был удивлен, что даже когда я спросил у сообщества, набор инструментов для создания фиктивных данных был настолько ограничен. Кажется, это ниша, которую нужно заполнить! Мне будет интересно узнать, что вы выпускаете.