为什么我在使用get设置的某些Xamarin应用程序中看到DataManager?

Ala*_*an2 4 xamarin xamarin.forms

我的应用程序设置如下:

public partial class App : Application
{

    public static DataManager db;

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

    public static DataManager DB
    {
        get
        {
            if (db == null)
            {
                db = new DataManager();
            }
            return db;
        }
    }
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释以这种方式设置DataManager的优势:

    public App()
    {
        InitializeComponent();
        MainPage = new MainPage();
        db = new DataManager();
    }
Run Code Online (Sandbox Code Playgroud)

Ste*_*rne 5

很多人不喜欢静态全局变量.他们尝试用类的具体实例替换它们.

他们真正要做的是为每个类创建一个接口,并使用依赖注入来提供类.然后,这将允许单元测试和关注点的正确分离.使用MVVM模式也是一个好主意.

对于很多人来说,这可能是一个很大的变化,并且往往需要新的思维方式.