Если Вы смотрите на http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/activedirectoryoperations11132009113015AM/activedirectoryoperations.aspx, существует огромный список свойств для AD в одном классе.
Что хороший путь состоит в том, чтобы осуществить рефакторинг такой большой список полей (Related)? Создание разделило бы классы соответствовать или является там лучшим способом сделать это более управляемым?
Спасибо
Первый пакет, который я извлек, - это восемь пакетов, которые начинаются с «MSEXCH» - этот префикс указывает на то, что автор считает, что в этих свойствах есть что-то общее. Помимо этого, я не вижу ничего, что естественным образом попадает в простые группы, но если вы обнаружите, что определенные свойства всегда используются вместе, вероятно, было бы хорошей идеей поместить их в один и тот же класс.
Если вы говорите о разделении их на логические группы, тогда классы подойдут для этого, и это может упростить навигацию по ним. Я уверен, что есть причина, по которой свойства в AD не сгруппированы таким образом, но я всегда пытаюсь сгруппировать вещи вместе, когда получаю так много свойств, что мне приходится начинать серьезную прокрутку.
если проблема в том, что исходный код слишком длинный, вы можете использовать свойства Automatic
public string Department { get; private set; }
public string FirstName { get; private set; }
public string MiddleName { get; private set; }
public string LastName { get; private set; }
public string LoginName { get; private set; }
public string LoginNameWithDomain { get; private set; }
public string StreetAddress { get; private set; }
public string City { get; private set; }
public string State { get; private set; }
public string PostalCode { get; private set; }
public string Country { get; private set; }
public string HomePhone { get; private set; }
public string Extension { get; private set; }
public string Mobile { get; private set; }
public string Fax { get; private set; }
public string EmailAddress { get; private set; }
public string Title { get; private set; }
public string Company { get; private set; }
Если они связаны, они должны принадлежать друг другу ...
Если вы думаете, что можете сгруппировать их дальше (например, адреса, номера телефонов), вы можете создать простые классы для этих .