我在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;
}
}
所以,你会注意到,当父类改变时,子需要更新,然后当子更改时父需要更新。如果我通过将父母注册到孩子中的某个事件来更新父母,它将为每个孩子更新一次,但只有在所有孩子更新后才更新。
我相信你们中的一些人可以想出解决这个问题的方法,但请记住这是一个简单的例子。真正的更复杂。
我真的可以使用一些涵盖这类事情基本理论的书。
我不认为有人会知道你的意思是“更新机制”。更新什么? – 2009-12-21 21:41:10
@Jonathon:同意。起初,我以为他在讨论将应用程序从版本X更新到版本Y.我不知道哪些B树与此有关。 – jcollum 2009-12-21 22:00:29
这是我的问题,我甚至不知道要用什么词。我会写一个我正在谈论的并添加它的简单例子。 – Eric 2009-12-22 15:35:33