C# объединить класс/модели или создать несколько классов с наследствомC#

Место общения программистов C#
Ответить
Anonymous
 C# объединить класс/модели или создать несколько классов с наследством

Сообщение Anonymous »

Это довольно простой вопрос, но это меня беспокоит. Должен ли я объединить аналогичные свойства модели в одну модель класса или лучше разделить их и добавить наследство, где это имеет смысл? Я склонен возвращать только данные, необходимые для каждого запроса, но я задаюсь вопросом, когда это меньший объем данных. Лучше объяснить с помощью примера. Многие из вызовов возвращают ienumerables < /p>

public class GroupBaseModel {
public int GroupId { get; set; }
public int GroupName { get; set; }
}
public class RoleBaseModel
{
public int RoleId { get; set; }
public int RoleName { get; set; }
}
public class GroupMemberModel : GroupBaseModel
{
public bool IsMember { get; set; }
}
public class GroupRoleBaseModel {
public int GroupId { get; set; }
public int GroupName { get; set; }
public int RoleId { get; set; }
public int RoleName { get; set; }
}
< /code>

У меня есть звонки, которые возвращают ienumerables каждого из этих классов на нескольких разных страницах. Некоторые вызовы просто возвращают Grouplemodel, в то время как другой вернет Grouprolebasemodel и т. Д. (Каждый из них тянет минимальные необходимые данные для каждого запроса в настоящее время) < /p>

Итак, мой первый вопрос, возможно ли объединить два существующих класса? Например, выше, Grouprolebasemodel - это лишь свойства GroupBaseModel + Grouprolemodel, могу ли я объединить их, не реализуя все свойства снова? < /p>

Второй вопрос: так как мы говорим об очень маленьких классах, я должен просто так нравится ниже и использовать один класс? Несмотря на то, что некоторые запросы возвращают ненужные данные? < /P>

public class GroupBaseModel {
public int GroupId { get; set; }
public int GroupName { get; set; }
public int RoleId { get; set; }
public int RoleName { get; set; }
public bool IsMember { get; set; }
}
< /code>

Спасибо за ваши мысли! < /p>

Подробнее здесь: https://stackoverflow.com/questions/341 ... nheritance
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»