Имам няколко основни въпроса. Виждам много неща като по-долу в кода:
public class User
{
private IList<Person> _person;
public User()
{
_person = new IList<Person>();
}
public IList<Person> personList
{
get { return _person; }
(protected) set { _person = value; }
}
}
Какво е предимството на инстанцирането на променливата в ctor? Защо не го инстанциирате при деклариране? Вие така или иначе инстанциирате променливата, когато създавате екземпляр, така че защо да не я зададете по време на декларацията?
Защо да зададете променливата като частна и след това да позволите на публично свойство да има достъп до нея? (Поставих защитено в скоби и виждам предимството на това - позволява само на подкласове или на себе си да зададе това свойство), но кажете, че нямате защитен или частен набор. Няма ли да е по-добре, ако просто зададете променливата като публична?