Beshere
@Beshere
Разработчик

Как хранить бизнес и бухгалтерские правила?

Вот дядя Боб(Мартин) в своей книжке про архитектуру пишет, что программе лучше всего опираться на бизнес-правила, которые меняются реже всего. Видать, дядя Боб не нюхал нашего ЦБ.

Каждый год выходят новые требования к финансовому и бух.учёту. Постоянно приходят задания типа сделай А, если счёт начинается на Х. Через год требуется, "но чтобы в 13 позиции счёта была 1". Я который год рисую эти загогулины вокруг единичек в счетах и тому подобного. Опираться на эту "бизнес-логику" нереально. Что-то можно вынести в справочники типа X->A, Y->B. Но тогда придётся писать справочник для КАЖДОЙ процедуры. А потом придёт новая инструкция и справочник станет бесполезен.

Как? Как хранить крючкотворные постоянно меняющиеся правила учёта и не превратить свой код в билиберду с кучей IF, масок счетов и т.д?
  • Вопрос задан
  • 251 просмотр
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
Именно поэтому 1с захватил рынок
Разработка очень мутная
Ответ написан
Комментировать
Jump
@Jump
Системный администратор со стажем.
Каждый год выходят новые требования к финансовому и бух.учёту.
Они выходят гораздо чаще.

Постоянно приходят задания типа сделай А, если счёт начинается на Х.
Ну так делайте, это же ваша работа!

Как? Как хранить крючкотворные постоянно меняющиеся правила учёта
Правила учета хранить не надо!
Надо создавать софт который работает по этим правилам.
Если правила меняются - менять софт.
Ответ написан
Комментировать
@evocatus
разработчик на FPGA, программист, учитель
Если я правильно понял ту мысль дяди Боба (смотрел многие его выступления), то он имеет в виду inversion of control.

Но мне кажется, что лучше использовать функциональное программирование. А как лучше делать архитектуру приложения, чтобы можно было постоянно менять правила не меняя остальной код... погуглите Mark Bastian Bottom Up vs Top Down Design. Даже если я кругом неправ, то всё равно рекомендую посмотреть - очень вдохновляющее видео.
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
При изменении правил добавлять их новую реализацию.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы