Возможно, это не лучший вопрос, подходящий для stackoverflow, но мне нужен только ответ, который лучше всего описывает почему программисты иногда не используют сеттеры / геттеры для свойств, например в случае внедрения свойств (DI).
Рассмотрим этот пример ...
class Test
{
public propertyA;
protected propertyB;
public function setPropertyB(val)
{
// do some logic to validate 'val'
this.propertyB = val;
}
public function getPropertyB()
{
return this.propertyB;
}
}
Почему бы вам выбрать стиль прямой установки propertyA
:
var Test = new Test();
Test.propertyA = 1;
За опцией установщика для propertyB
:
var Test = new Test();
Test.setPropertyB(1);
Я всегда использую подход setter / getter, но я видел несколько довольно устоявшихся фреймворков, использующих подход propertyA
, перемежающийся с подходом propertyB
. Какие преимущества дает этот метод?