2010-09-23 3 views
1

Я смотрю библиотеку объектов Lhotka CSLA.NET (Lhotka.NET). Это кажется интересным, но одна вещь, которая не имеет смысла, заключается в том, что бизнес-правила написаны на C#. Если они не кодируются вне кода (хотя это была бы библиотека, которая не связана с основной логикой приложения, правила могут все еще меняться и требуют перекомпиляции).Почему бизнес-правила написаны на C# (Code)?

Благодаря

ответ

8

Нет, это было бы inner platform anti-pattern.

Если вы сделаете систему, достаточно продвинутые, чтобы справиться с любой бизнес-правила, которые могут понадобиться, это будет намного сложнее, чем она должна быть.

2

Бизнес-правила CSLA - это просто делегаты, которые возвращают true, если правило проходит, а false - если это не так.

Поскольку бизнес-правила - это всего лишь код, вы можете делать все, что захотите. Вы можете создать механизм правил, если хотите, и обработать правила вне объектов, если хотите.

CSLA также поддерживает атрибуты данных на основе атрибутов, если вы также хотите использовать правила, основанные на атрибутах.

Начиная с Csla 4, методы статического правила больше не поддерживаются. Вместо этого вы создаете класс, который является подклассом BusinessRule в пространстве имен Csla.Rules. Это позволяет улучшить повторное использование и упростить модульное тестирование.

Смежные вопросы