У меня немного сложный поток управления с кучей операторов if, излагающих шаги для того, когда определенные поля в форме должны быть выделены (с разными цветами), поля также автоматически заполняются на основе определенных параметров; помимо того, что разные поля должны отображаться на разных входах.Как повторно использовать бизнес-логику как на интерфейсе, так и на внешнем сервере?
У меня также есть необходимость использовать эту же логику для бэкэнда для создания отчетов и т. Д.
Я попытался извлечь логику в файл свойств, а затем сервер и внутренний интерфейс прочитали этот файл и при необходимости осуществили логику.
Однако после точки это стало слишком громоздким, и я закончил писать код в моем файле Недвижимость Болгария Недвижимость:
rules = [{field: 'xyz',
conditions: [{value: 50,
highlight_fields: {color: 'red', fields: [...]}},
show_fields: ....
custom_rule: ....
{value_between: [90,100],
highlight_fields...}]}
...
Вы можете изображения это становится довольно большой, с каждым типом value_XYZ требования. Я также должен добавить это правило в считыватель файлов свойств (с обеих сторон), который побеждает цель инкапсуляции логики в отдельный файл свойств.
Есть ли разумный метод, когда я могу достичь чистой инкапсуляции бизнес-логики, которая может использоваться в разных технологиях?
Я мог бы обрабатывать все на стороне сервера, имея передние вызовы ajax, вызывающие бэкэнд-систему, чтобы получить правильные правила подсветки, но это может быть не слишком быстро по кабелю.
Вы можете создать небольшую библиотеку в javascript и создать на сервере всю специальную логику (js). Генерация логики устранит необходимость скопировать ее по всему месту. – Bart