Re[9]: программирование будущего
От: Cyberax Марс  
Дата: 07.01.09 01:33
Оценка:
Здравствуйте, Young_Pioneer, Вы писали:

C>>Ну вот. Опять. Ты хочешь сделать заранее самую идеальную возможную печатную систему, у которой просто программы будут отключать ненужные функции.

Y_P>Печатные системы будут делать профессиональные производители печатных систем.
Ну сделают, и что дальше?

Y_P>Конкретный пример: есть реальный клиент, который хочет видеть нашу печать в Visio, чтобы можно было печатать большие изображения с разбивкой на листы. В принципе, это можно сделать через драйвер принтера (интерфейс драйвер, несмотря на свою сложность, используется очень часто, например для создания pdf), но в будущем хотелось бы иметь более простой метод.

А в Visio есть все нужные примитивы? Например, в Visio могут быть только квадратичные сплайны, а вам потребуются кубические. И упс. Всё.

C>>Только проблема-то не в этом. Проблема в том, как сделать так, чтобы дополнительные функции можно было добавлять не изменяя программ.

Y_P>Если мы меняем слабую печать на более мощную, то чем это не улучшение. Сейчас программы улучшаются с помощью плагинов. По сути, я предлагаю те же плагины, только стандартизованные.
Стандартизовать (с трудом) можно только такой интерфейс:
interface IPlugin
{
  String getName();
}


C>>Твоя идея: делаем суперкастомизуемую систему, так чтоб пользователь мог нажать правой клавишей на любое поле ввода и вместо него воткнуть красивое поле ввода с поддержкой векторной графики и встроенным в виде пасхального яйца Doom3, использущим это поле ввода для savegame'ов.

Y_P>"Кастомизация" как раз не главное. И "куда угодно что угодно" воткнуть пользователь не сможет — на это есть программисты.
Ну ладно, это сделал программист. Что дальше? Работать-то всё равно не будет.

Y_P>Эти модули:

Y_P>-загрузка и сохранение из/в определенный формат (можно добавлять модули)
Y_P>-пользовательский интерфейс (можно заменять модули)
Y_P>- печать (можно добавлять / заменять модули)
Y_P>- общие алгоритмы: перевод, шифрование, векторизация растра и т.д.
Y_P>многие из таких модулей уже сейчас делаются профессионалами и продаются в виде компонентов либо исходников. Только без каких-либо СТАНДАРТОВ.
Даже этот список не подлежит нормальной компонентизации.

Y_P>COM даёт богатые возможности совместного использования компонентов программ и иногда методы тотальной "кастомизации" самих программ. Мы тоже делаем COM компоненты, и клиенты-ПРОГРАММИСТЫ легко вставляют их в свои программы. Но НЕТ СТАНДАРТА, чтобы написать компонент, который вставится во все профессиональные программы, которым может понадобится этот функционал. COM, конечно, может быть использован как база для реализации идеи модулей, но лучше создать новую технологию.

Вообще-то, есть OLE.

C>>Это уже было давно придумано и даже сделано, и называется OLE

Y_P>То есть можно сделать COM объект, читающий простенький растровый формат '*.abc' и такие программы, как MS Office, Google Chrome, Photoshop, AutoCAD, 1C и другие "поймут" этот COM объект и будут открывать *.abc подобно *.bmp? Один плагин для всех?
Примерно так. Можно вставить документ *.abc как объект в документ Word'а и прямо внутри Word'а его редактировать с помощью твоего приложения. Попробуй сам — из Visio сделай cut&paste в Word и посмотри.
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.