Преимущества недвижимости в бизнес-объектах? - PullRequest
0 голосов
/ 23 августа 2010

В своих проектах я использую 4 слоя (пользовательский интерфейс, пользовательские типы, бизнес-логика и слой доступа к данным).

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

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

Пожалуйста, назовите мне, каковы основные силы и использование свойств? Почему они важны и как они приносят пользу.

1 Ответ

1 голос
/ 23 августа 2010

Сейчас я могу представить два возможных варианта использования свойств в бизнес-объектах.

1) Вычисляемые свойства.Свойство только для чтения, возвращающее некоторое значение, основанное на других полях / свойствах объекта.

например:

public double AmountToPay { get { return _price*qty; }}

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

2) Свойства проверки Свойство, указывающее, что созданный экземпляр бизнес-объекта (или некоторая его часть) является действительным илинет.

например:

public bool IsAValidPrice { get { return _price > 0 ; } }

Опять же, завтра предприятие может разрешить продажу некоторых товаров бесплатно, а затем логика будет включать товары с ценой == 0 в качестве действительнойцена.

...