Я не понимаю во всем мире моды использовать XML для хранения настроек, макетов страниц или графического интерфейса и даже наборов фанов.Как заменить XML на Java?
Если учесть тот факт, что XML - это не один язык, а шаблон для определения нескольких языков, массовое безумие становится очевидным.
Зачем использовать ДОЗИНЫ языков вместо использования какого-то одного?
Например, Java.
Он может определять или объявлять иерархию любого типа, настраивать таблицы и т. Д.
Так почему бы нам не использовать java-файлы для хранения всех вещей?
Например, один может предоставить файл настроек в формате Java, как это:
class Properties {
String dbpassword = "password";
String database = "localhost";
String dbuser = "mkyong";
}
этот файл может быть составлен на лету выполнения компилятора и полей, извлекаемых отражения.
Итак, почему бы нам не сделать это?
Единственная причина, которая приходит в виду, это безопасность.
Внешний файл может содержать не только свойства, но и некоторый код конструктора, который может взломать приложение или свернуть его.
So. Есть ли защита для этого случая? Можем ли мы ограничить возможную функциональность скомпилированных файлов во время выполнения?
UPDATE
Я не имею в виду именно Java. Java - всего лишь образец. Мне нужны способы использования единого языка.
UPDATE 2
Я утверждаю, что было бы лучше, чтобы использовать один язык для целых аспектов проекта.
Предположим, что в шаблоне MVC мы будем использовать три отдельных языка для модели, вида и контроллера! Это было бы чушь! Мы используем один язык. Я имею в виду, что мы используем разные языки, но каждый программист использует один единственный язык, все еще разделяющий MVC. Вот какие файлы конфигурации: разделение еще одной концепции. Нет смысла использовать разные языки только потому, что концепция разделена.
Это относится также к HTML/JavaScript/CSS. Нет смысла иметь три языка. Нет никакого проклятого чувства!
Конечно, я понимаю исторические причины и т. Д. Но это не смысл, это просто досадные причины.
Итак, почему же мы видим новые и новые проекты с одинаковой природой?
Почему MS создала XAML для WPF? Они сделали новый свежий язык C#, почему бы и не поместить в него XAML?
Почему Oracle создал FXML для JavaFX? Слава богу, они отказались от скрипта JavaFX! Потому что они хотели иметь три языка только для RIA!
Просто, поскольку существуют системы/приложения/фреймворки, которые не основаны на Java ?! Попросите разработчика VB6 включить Java-код - надеюсь, вы знаете, что я имею в виду. –
JSON был бы лучшим выбором для ваших проблем. Но даже тогда программисты Lisp и Scheme все равно покажут головами ... – Ned
@NedNowotny уже существует [черновик-версия для json-schema] (http://json-schema.org/), но это имеет свои пределы, такие как отсутствие объектно-ориентированного наследования. Вы можете обойти это с помощью «включения» 'allOf' определения (например, fe-сообщения), но вы не можете переопределить что-то, что определено там, - проверенное json-сообщение должно выдержать как проверки проверки, так и исходную json-схему и упомянутый. Если, однако, упомянутое относится к чему-то вроде «addidionalProperties»: проверка false будет с высокой вероятностью ошибки для расширенных параметров. –