设计Singleton来容纳应用程序设置?

时间:2015-12-10 21:37:58

标签: c# oop singleton class-design

我正在设计一个在两个第三方服务之间同步数据的应用程序。在其中一个服务中,我在应用程序启动(或池刷新)上获取了各种ID,并使用静态属性打了一个结构。

例如

public struct SfRecordTypes
{
    public static string Order = "REMOVED";
    public static string Issue = "REMOVED";
}

public struct SfQueues
{
    public static string Billing = "REMOVED";
    public static string Support = "REMOVED";
    public static string SupportDev = "REMOVED";
    public static string Field = "REMOVED";
}

在启动时,这些被称为。

public static void PopulateRecordTypes()
{
    var sf = new SalesForce();
    var recordTypes = sf.GetRecordTypes();
    if (recordTypes == null) return;
    SfRecordTypes.Order = recordTypes.First(n => n.Name != null && n.Name.Contains("Order")).Id;
    SfRecordTypes.Issue = recordTypes.First(n => n.Name != null && n.Name.Contains("Issue")).Id;

    sf.Dispose();
}

public static void PopulateQueueIDs()
{
    var sf = new SalesForce();
    var groups = sf.GetAllGroups();
    if (groups == null) return;
    SfQueues.Billing = groups.First(n => n.Name != null && n.Name.Contains("Billing Queue")).Id;
    SfQueues.Support = groups.First(n => n.Name != null && n.Name.Contains("Support Queue")).Id;
    SfQueues.SupportDev = groups.First(n => n.Name != null && n.Name.Contains("Support Developer Queue")).Id;
    SfQueues.Field = groups.First(n => n.Name != null && n.Name.Contains("Field Services Queue")).Id;

    sf.Dispose();
}

但是,我试图弄清楚如何设计/实现一个我可以调用的单例类,它会自动填充这些值(以使它们成为只读的方式),这样当我使用它们时在未来,他们遵循适当的OOP原则,并且有点清洁。我对单身人士有点新意,我的研究结果好坏参半。

0 个答案:

没有答案
相关问题