用于定义类之间依赖关系的模式,以及必须初始化它们的顺序

时间:2015-11-02 19:15:23

标签: c# design-patterns

我有一个加载过程,需要按照特定的顺序初始化加载的对象,具体取决于它们所属的类。有些类包含对其他类的引用,并依赖于首先初始化的其他类。

现在,我在每个类中使用静态数字字段定义顺序。程序员负责提出数值。然后我可以按这个数字对对象进行排序,并按正确的顺序初始化它们。

public interface ILookUpCollectible
{     
    // this is the number the classes get sorted by before initializing
    int LoadPostProcessOrder { get; }    
}


 // start initializing, sort them first
 // sort:
        var sortedList = list.OrderBy(l => l.LoadPostProcessOrder);

        int i = 0;
        foreach (var item in sortedList) 
        {
            item.LoadPostProcess(sn);
            i++;              
        }

有更好的方法吗?我希望每个类明确说明它依赖于哪些其他类(通常是因为它包含对这些类的引用),然后从中派生顺序。

0 个答案:

没有答案