Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Философия программирования > Внутренния язык программирования


Автор: intDex 22.12.2007, 07:44
Суть в том, что есть приложение на C#(WinForms)+MSSQL 2005+Developer Express .NET v7.2, нужно в нем реализовать:
a. Поддержку внутреннего языка программирования(ЯП)
б. Конструктор форм с взаимодействием с ЯП
в. Связь внутреннего ЯП и созданных форм с функционалом программы т.е. к примеру у нас есть готовое бизнес приложение, но пользователь(админ, мы) сам(и) захател развиить функционал, ему к примеру нужно брать определенные данные из базы + заносить свои данные и строить таблицы в БД, получается, нужно связывать через API приложения и в итоге получать свои бизнес объекты(БО). Логика работы БО тесно связана с логикой приложения, значит нужно добавить соответствующий пункт меню, обработку события etc... , если он создал справочник, отчет и т.д. т.е. все везде взаимосвязано.
Подобным примером является Terrasoft CRM v3.
В веб разработке подобное называется конструктор форм, но с более скудным содержанием.

Так вот, вопрос как подобное проще всего реализовать. Может стоит использовать Динамическую компиляцию, динамическую загрузку кода или есть единый стандарт, готовые контролы и т.д. Может ли подобное решиться за счет Xaml?
Выслушаю любые высказывания.

PS. В 2000 году в компании был проект на Delphi+Interbase который имел внутренний язык на основе Yacc и Lex, но это уже устарело, да и команды той почти не осталось, да и использовался он скромно, в частности для построения отчетов и разработки кусков Бизнес логики для данных отчетов но взаимодействовал с СУБД.  Суть работы:
через GUI описывался код, обработчики связывались с динамически сгенерированными контролами, создавался *.xls шаблон отчета, в нем в виде регулярных выражений были строки типа DateFormirovanija, SchetNumer. Отчет заносился в папку с остальными шаблонами, код сохранялся в папку configs.

Логика приложения, уже обрабатывала данный файл. Так вот и интересно построение подобной логики.


Автор: dvska 27.1.2008, 02:46
IronPython ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)