Silverlight数学引擎(10)——尺规作图设计
<div id="cnblogs_post_body">前面的分析被总结为两个字&mdash;&mdash;依赖,我们的设计就从依赖开始。如果将相互依赖的各个元素画成一幅图,这种图就有两种形式,一种是树(像我们前面做的表达式解析),另一种就是网。很明显几何作图各个元素之间的关系是一张网,因此我们很难用一个树状的职能型的组织结构来类比地说明它,或者用人际关系之网来比如更恰当一点。不少人都会谈网色变,因为即是网就必然存在闭路,我们的网络短路或者程序死循环大多都拜他所赐,所以首先我们就要注意这个问题。举个例子,比如我们屏幕上有两个自由点A和B,以及依赖于它们的线段AB,我们用鼠标可以拖动自由点A,然后线段AB会跟着发生变化。如果我们用鼠标拖动线段,则A也会跟着移动,A的移动又带动着线AB的变化,好,等着翘辫子了。
所以为了防止出现这样的情况,我们就必须严厉禁止鼠标拖动非自由的元素,如线和圆以及交点之类的,如此,相应的接口随之诞生:
<div class="cnblogs_code"> public interface IMovable { void Move(LogicalPoint newPosition); }
页:
[1]