Вот теоретический/педантичный вопрос :: представьте свойства, каждый из которых может принадлежать множеству других. Кроме того, от одной итерации владения к другому два соседних владельца могут принять решение о частичном объединении владения. Например:
territory 1, t=0: a,b,c,d
territory 2, t=0: e,f,g,h
territory 1, t=1: a,b,g,h
territory 2, t=1: g,h
То есть c
и d
больше не владеют собственностью; а g
и h
стали, так сказать, жирными котами.
В настоящее время я представляю эту структуру данных в виде дерева, в котором у каждого потомка может быть несколько родителей. Моя цель — втиснуть это в шаблон проектирования Composite; но у меня возникли проблемы с получением концептуальной основы того, как клиент может вернуться и обновить предыдущее право собственности, не испортив всю структуру.
Мой вопрос двоякий.
Легко :Какое удобное название для этой структуры данных, чтобы я мог сам найти ее в Google?
Тяжело :Что я делаю не так? Когда я программирую, я стараюсь держать в голове мантру «Будь проще, глупец», и я чувствую, что нарушаю это кредо.