Какие рекомендации применяются к установщикам свойств, которые ссылаются на содержащиеся в нем объекты, которые могут быть нулевыми? - PullRequest
2 голосов
/ 08 сентября 2011

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

Class Driver
  Public Property License As LicenseInfo
  Public Property LicenseState
    Set(value As String)
      If License Is Nothing Then Exit Property   '<-- is there a better way?
      License.State = value
    End Set
    ...
  End Property
  ...
End Class

Было бы лучше создать новый объект License здесь? Есть ли лучшие практики, применимые к этому сценарию?

1 Ответ

2 голосов
/ 08 сентября 2011

Зависит от ваших бизнес-правил, но чаще всего:

1. Бросить исключение

999. Установить значение для установки и установить его (быть утомленным)

Обычно создание исключения - лучший способ, потому что, если объект не существует, и вы создаете его в сеттере, ваш брокер / бизнес-поток может быть отключен. Кроме того, пусть другие разработчики узнают, что их логика неверна - и они неправильно используют ваш класс, и именно поэтому это выбор № 1.

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

...