@ZelibobA1706

Как правильно изменять список одной сущности из другой?

Есть какой-то профсоюз и у него есть список мероприятий, этот список может редактировать только профорги. Как правильно осуществить изменение списка мероприятий?
class ProfOrg
    {
        public ProfOrg(List<UnionEvent> events)
        {
            this.events = events;
        }

        private List<UnionEvent> events;

        public void AddEvent(UnionEvent unionEvent)
        {
            events.Add(unionEvent);
        }
    }

class Union
    {
        public Union()
        {
            events = new List<UnionEvent>();
            profOrg = new ProfOrg(events);
        }

        private List<UnionEvent> events;

        private ProfOrg profOrg;

        public List<UnionEvent> Events { get { return new List<UnionEvent>(events);} }
    }


Или же добавить методы добавления/редактирования мероприятий в сам класс профсоюза?
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
WarFollowsMe
@WarFollowsMe
Профоргу иметь свой список событий нет необходимости. Если события закреплены за профсоюзом, то и профорг должен непосредственно работать с этим списком, а не дублировать свой. Чем меньше списков вы создадите, тем проще потом будет в них ориентироваться. Здесь достаточно одного events в Union.
class ProfOrg
{
    private Union _union;

    public ProfOrg(Union union)
    {
        _union = union;
    }

    public void AddEvent(UnionEvent unionEvent)
    {
        _union.Events.Add(unionEvent);
    }
}

class Union
{
    private ProfOrg _profOrg;
    private List<UnionEvent> _events;

    public List<UnionEvent> Events { get { return _events; } }
    public ProfOrg ProfOrg { get{ return _profOrg; }

    public Union()
    {
        events = new List<UnionEvent>();
        profOrg = new ProfOrg(this);
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы