Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Присоединяйтесь к совместному созданию программы!

30K
25 августа 2007 года
gerich_home
8 / / 25.08.2007
Вобщем я предлагаю написать программу для расширения возможностей любого приложения.
Отдалённо это будет напоминать язык программирования, или точнее макросы в Word и Excel.
Смысл такой.
Представим себе некоторый текстовый редактор. Разработчик программы хочет, чтобы она не оставалась монолитной, и пользователь мог бы, к примеру, добавить в неё новую функцию. Тогда он создаёт в нашей проге специальный файл, после чего он может назначить этот файл в качестве реакции на нажатие какой-либо кнопки.

Таким образом придётся создать сразу две части этого приложения: программа для создания таких файлов и ActiveX DLL-ку, которая эти файлы будет выполнять.

Поскольку маловероятно, что мы можем предугадать всё, что потребуется конечному пользователю, то неплохо было бы сделать возможность расширения программы.
Моё решение этой проблемы такое.
Вся программа состоит из нескольких DLL библиотек.
В главной библиотеке определяются все общие классы, которые могут быть использованы другими частями программы.
Вот они:
Класс Document. В нём содержатся все объекты. Он как раз и представляет собой эту новую функция, которая добавляется к текстовому редактору. У этого класса есть свойства Objects(список всех объектов, которые содержатся в Document) и Value(значение, которое возвращается Document) и методы Run(вызывает стартовый оператор) и Save(сохранение)
Класс Object. От этого класса наследуются Document, Value и Operator. Он может быть сохранён и загружен из файла методами Load, Save.
Класс Value. Имеет свойство Value, которое возвращает определённое значение. От этого класса унаследованы классы, которые реализуют функции, например функция sin может быть представлена классом, у которого есть свойство Angle(угол) и переопределённое свойство Value, которое возвращает синус этого угла.
Класс Operator. В нём определённое действие. Это аналог процедуры в языках программирования. Метод Run запускает оператор на выполнение.

Я искренне надеюсь, что найдутся программисты-энтузиасты, которые захотят ко мне присоединиться.
:)
мой адрес [email]gerich_home@mail.ru[/email]
30K
25 августа 2007 года
gerich_home
8 / / 25.08.2007
Если кто не знает, то зелёный кружок рядом с весами значит что я online.
Если я не online, то пишите на mail
361
25 августа 2007 года
Odissey_
661 / / 19.09.2006
во-первых, перестань флудить во всех остальных темах!!!
во-вторых, не вчитывался в реализацию, но сама идея утопична. Все твои расширения подобным образом подразумевают только слабую функциональной связь с расширяемой программой (пользоваетль ведь не знает о архитектуре программы, для него она "черный ящик", ну можно сделать приспособу которая пыль с него будет сдувать, но не более), что слабо актуально при сегодняшнем большем выборе прикладного ПО.
Цитата:
и пользователь мог бы, к примеру, добавить в неё новую функцию.


идея "open source" тебе ни о чем не говорит?

30K
25 августа 2007 года
gerich_home
8 / / 25.08.2007
Gamlet, я просто видел классную прогу - Scite называется. И мне кажется если набрать кучу народа, то можно сделать нечто подобное.
И не обязательно делать прогу на эту тему, присылайте свои предложения.
30K
25 августа 2007 года
gerich_home
8 / / 25.08.2007
Odissey_ , понимаешь я есть "начинающие" програмисты. Я, к примеру, только в ВУЗ поступил. И мне, честно говоря, хочется набраться какого-либо опыта.
А насчёт "флудить" - а как тогда по-другому народ набирать?
16K
25 августа 2007 года
Zbyszek
118 / / 08.08.2007
Ну не знаю, конечно, но мне кажется, что разработчику легче написать SDK и потом все, кто захочет, смогут писать плагины. А ещё не стоит забывать о скриптах, макросах и т.д. и т.п.. Но, всё равно, если есть уже хоть какие-то разработки, выкладывай...
2.1K
26 августа 2007 года
Tever
87 / / 05.08.2003
2 gerich_home
А я есть профессиональные программисты, поэтому мне, как и многим, решающим реальные задачи, это не интертесно. И еще, я так понял, что опыта ты собираещься набираться, за чужой счет? То есть энтузиасты напишут, а ты научишься. А самому? А? Без "костылей"?
15K
26 августа 2007 года
gruz0
71 / / 23.11.2006
Цитата: Tever
2 gerich_home
А я есть профессиональные программисты, поэтому мне, как и многим, решающим реальные задачи, это не интертесно. И еще, я так понял, что опыта ты собираещься набираться, за чужой счет? То есть энтузиасты напишут, а ты научишься. А самому? А? Без "костылей"?


Совершенно верно сказал. По своему опыту знаю, что набивание "костылей" приносит куда более весомый результат, чем тупое вчитывание в код. Хотя, если ничего не получается (может не теми средствами пробовали?), то вчитывание в чужой код может и внести некоторые ясности.

Желаю удачи в разработке :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог