[...] "Кирпич" будет выглядеть примерно так:По идее может быть так (рассуждая в парадигме MVC): где-то хранится идентификатор модели, есть аналог "иерархии наследования" моделей. Модель знает, какие view она поддерживает. Есть также аналог "иерархии наследования" View. А может быть duck typing: если view нашло то, что ей нужно в модели - показывает (ну, соответсвенно, может и ошибиться иногда).
{ body: "<p>Hello, world!</p>", format: "brick", brick: { color: "#abcdef" } }
А как он должен выглядеть в твоем варианте?
Да нормально вроде выглядит. Я вот о чём:
- Сделаешь ты "кирпич" (формат
brick
и доп. атрибутыbrick: {color: ...}
. - Кто-то на базе этого сделает кирпич с подвыподвертом и ещё одним атрибутом и поддержит в своём клиенте
- Кто-то независимо сделает тоже формат
brick
но с совершенно другими атрибутами.
Т.е. грубо говоря, представим, что куча людей наследуют model, и куча людей наследуют как-то view, реализуя собственные клиенты. И нет механизма проверки, а действительно ли model в посте такого типа, какой кушает данный view.
Ну хотя, возможно, проблема надуманная, и стандарт как-то устаканится, т.к. всё это в одном пространстве варится.