为什么应用程序只在需要时创建数据库应用程序而不是在开始时?

时间:2017-07-15 08:29:07

标签: xamarin

我有一个我正在处理的应用程序。对数据管理器进行设置的调用如下所示:

 @RequestMapping(value = "/index", method = RequestMethod.GET)
 public String createLoginForm(HttpServletResponse response){
   response.setHeader("Content-Type","text/html");
    return "index";
}

换句话说,数据管理器是在首次需要时设置的。

有人可以告诉我这样做是否有任何好处。在我看来,在onStart事件中调用AS.dm = new DataManager()会更简单。

public partial class App : Application
{

    public App()
    {
        InitializeComponent();
        MainPage = new Japanese.MainPage();
    }

    public static DataManager DB
    {
        get
        {
            if (AS.dm == null)
            {
                AS.dm = new DataManager();
            }
            return AS.dm;
        }
    }

    protected override void OnStart()
    {
        AS.GetSettings();
        AS.selectedPhraseCount = AS.dm.GetTotalPhrasesCountForSelectedCategories();
    }

1 个答案:

答案 0 :(得分:1)

你需要发布更多的代码(例如dm和AS声明的地方?)绝对可以肯定,但这种带有私有构造函数的静态声明的方法称为Singleton模式,旨在确保只能存在一个对象实例(在您的情况下是DataManager)。 查看现有的question

但是,您的代码在OnStart中看起来有点奇怪,因为它看起来像是使用dm支持变量而不是DM属性引用数据管理器。

相关问题