Я пишу инженерные приложения на работе в C# .NET. Часто эти приложения имеют сложные механизмы обновления, по крайней мере, я в конечном итоге пишу сложные механизмы обновления.Теория механизма обновления
Может ли кто-нибудь направить меня к некоторым книгам или чему-то, где я могу узнать теорию обновления? Должен ли я тратить свое время на изучение рекурсивных функций? Асинхронные обновления? Двоичные деревья? Я даже на стоянке, чтобы попасть в стадион?
Мне нравится использовать свойства, потому что они кажутся самодостаточными и легкими и чистыми для привязки к WPF и silverlight gui, которые я пишу, и мне нравятся события, потому что кажется, что это уменьшает спагетти, но я не чувствую, что мои теоретические понимание этих вещей очень звучит.
Спасибо за помощь!
Вот пример того, о чем я говорю.
public delegate void ParentChangedEventHandler(object sender, EventArgs e);
public class Parent
{
List<Child> Children;
private double parentCoefficient;
public double ParentCoefficient
{
get
{
return parentCoefficient;
}
set
{
parentCoefficient = value;
ParentChanged(this, EventArgs.Empty);
}
}
public double Chaos
{
get
{
double chaos = 0;
foreach(Child child in Children)
{
chaos += child.ChildChaos;
}
return chaos;
}
}
public event ParentChangedEventHandler ParentChanged;
public Parent()
{
ParentCoefficient = 42;
Children = new List<Child>();
for (int i = 0; i < 12; i++)
{
Children.Add(new Child(this));
}
}
}
public class Child
{
public double ChildChaos;
private Parent parent;
public Child(Parent theParent)
{
parent = theParent;
parent.ParentChanged += new ParentChangedEventHandler(parent_Changed);
}
private void parent_Changed(object sender, EventArgs e)
{
ChildChaos = 0.5 * parent.ParentCoefficient;
}
}
Таким образом, вы заметите, что ребенок нуждается в обновлении, когда класс Parent изменяется, а затем родители должны обновлять, когда ребенок меняется. Если я обновляю родительский элемент, зарегистрировав его на событие в дочернем элементе, он будет обновляться один раз для каждого ребенка, когда он должен обновляться только после обновления всех детей.
Я уверен, что некоторые из вас могут придумать решения этой конкретной проблемы, но имейте в виду, что это упрощенный пример. Реальные гораздо сложнее.
Я действительно мог бы использовать какую-то книгу, которая охватывает фундаментальную теорию такого рода вещей.
Я не думаю, что кто-нибудь узнает, что вы подразумеваете под «механизмами обновления». Что обновить? –
@ Джонатон: Согласен. Сначала я подумал, что он говорит об обновлении приложения с версии X до версии Y. Я не знаю, какие из b-деревьев имеют к этому отношение. – jcollum
Это моя проблема, я даже не знаю, какие слова использовать. Я напишу простой пример того, что я говорю, и добавить его. – Eric