Для разработчиков BE4 — различия между версиями
Материал из DevelopmenOnTheEdge
								
												
				Asko  (обсуждение | вклад)  (Начал описывать архитектуру) (Метка: visualeditor)  | 
				Asko  (обсуждение | вклад)  (Метка: visualeditor)  | 
				||
| Строка 2: | Строка 2: | ||
На высоком уровне BE4 состоит из нескольких частей:  | На высоком уровне BE4 состоит из нескольких частей:  | ||
| + | * '''com.beanexplorer.enterprise.metadata*''' - ядро  | ||
| + | * com.beanexplorer.enterprise.metadata.ant - реализация Ant задач, объявленных в be4/src/be4lib.xml, эти классы не должны использоваться во время исполнения BEclipse  | ||
| + | * com.beanexplorer.enterprise.be4core - класс Be4QueryExecutor, необходимый для запуска Query относительно простым образом без необходимости хранить Query в таблице (в BE3 запуск Query происходит по имени или идентификатору Query в таблице queries, а мы в BE4 работаем только с модельными объектами представленными в виде Java объектов, а не строк в SQL таблицах); используется для запуска Query в BEeclipse и BE5  | ||
| + | * com.beanexplorer.enterprise.eclipse - UI BEclipse и необходимые для его модельные элементы и view model  | ||
| + | * com.beanexplorer.enterprise.api - заготовка фасада для использования простейшего API в тестах: загрузка проекта из папки (projectApi = Facade.load(path)), получение корректного DatabaseConnector (projectApi.getDatabaseConnector()) и запуск Freemarker скриптов (projectApi.runFreemarkerScript(string))  | ||
| + | * com.beanexplorer.enterprise.diagrams - здесь и модельные элементы, и UI для диаграмм; новые виды диаграм легче всего добавлять по аналогии со старыми, смотря на уже готовые классы  | ||
| + | * com.beanexplorer.enterprise.planning - здесь [http://ru.wikipedia.org/wiki/Model-View-ViewModel и Model, и ViewModel, и View] для для [[BeanExplorer4#Описание по каждому редактору и view|TasksView]]  | ||
| + | |||
| + | === Ядро ===  | ||
* '''com.beanexplorer.enterprise.metadata*''' - ядро  | * '''com.beanexplorer.enterprise.metadata*''' - ядро  | ||
** exception - все базовые исключения для BE4, мы используем [http://en.wikipedia.org/wiki/Exception_handling#Checked_exceptions checked exceptions]  | ** exception - все базовые исключения для BE4, мы используем [http://en.wikipedia.org/wiki/Exception_handling#Checked_exceptions checked exceptions]  | ||
| − | |||
** '''model*''' - самое сердце BE4 - модельные объекты, которые представляют собой [[Структура проекта|дерево проекта]], начиная с класса [[Project]]  | ** '''model*''' - самое сердце BE4 - модельные объекты, которые представляют собой [[Структура проекта|дерево проекта]], начиная с класса [[Project]]  | ||
| − | ** sql  | + | ** sql -   | 
| + | ** serialization -   | ||
| + | ** freemarker - расширение Freemarker, в частности [[Built-ins|Be4BuiltIns]] и [[Встроенные функции|DatabaseFunctions]], [[макросы]] находятся в be4/src/com/beanexplorer/enterprise/metadata/freemarker/macro/common.ftl  | ||
| + | *** FreemarkerSqlHandler - получает на вход FreemarkerScript и запускает его как SQL, переадресуя сгенерированный текст в SqlExecutor  | ||
** util  | ** util  | ||
| − | + | ||
| − | + | === UI ===  | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
Версия 14:55, 5 декабря 2014
Здесь будет информация по архитектуре BE4.
На высоком уровне BE4 состоит из нескольких частей:
- com.beanexplorer.enterprise.metadata* - ядро
 - com.beanexplorer.enterprise.metadata.ant - реализация Ant задач, объявленных в be4/src/be4lib.xml, эти классы не должны использоваться во время исполнения BEclipse
 - com.beanexplorer.enterprise.be4core - класс Be4QueryExecutor, необходимый для запуска Query относительно простым образом без необходимости хранить Query в таблице (в BE3 запуск Query происходит по имени или идентификатору Query в таблице queries, а мы в BE4 работаем только с модельными объектами представленными в виде Java объектов, а не строк в SQL таблицах); используется для запуска Query в BEeclipse и BE5
 - com.beanexplorer.enterprise.eclipse - UI BEclipse и необходимые для его модельные элементы и view model
 - com.beanexplorer.enterprise.api - заготовка фасада для использования простейшего API в тестах: загрузка проекта из папки (projectApi = Facade.load(path)), получение корректного DatabaseConnector (projectApi.getDatabaseConnector()) и запуск Freemarker скриптов (projectApi.runFreemarkerScript(string))
 - com.beanexplorer.enterprise.diagrams - здесь и модельные элементы, и UI для диаграмм; новые виды диаграм легче всего добавлять по аналогии со старыми, смотря на уже готовые классы
 - com.beanexplorer.enterprise.planning - здесь и Model, и ViewModel, и View для для TasksView
 
Ядро
-  com.beanexplorer.enterprise.metadata* - ядро
- exception - все базовые исключения для BE4, мы используем checked exceptions
 - model* - самое сердце BE4 - модельные объекты, которые представляют собой дерево проекта, начиная с класса Project
 - sql -
 - serialization -
 -  freemarker - расширение Freemarker, в частности Be4BuiltIns и DatabaseFunctions, макросы находятся в be4/src/com/beanexplorer/enterprise/metadata/freemarker/macro/common.ftl
- FreemarkerSqlHandler - получает на вход FreemarkerScript и запускает его как SQL, переадресуя сгенерированный текст в SqlExecutor
 
 - util