我们有一个数据提供程序类,它为数据库中的每个聚合返回存储库。
让我们考虑以下情况:
让我们考虑以下情况:
public class DataProvider {
public IBookRepository Books { get { retun new BookRepository(); } }
public IAuthorRepository Authors { get { retun new AuthorRepository(); } }
}
正如您所看到的,每次调用成员 DataProvider.Books.DoBANANAS();
我们都会返回给定对象的新实例:
与之相反。
public class DataProvider {
public IBookRepository Books { get; }
public IAuthorRepository Authors { get; }
public DataProvider()
{
Books = new BookRepository();
Authors = new AuthorRepository();
}
}
现在调用 `DataProvider.Books.BANANAS();` 会减少 CPU / 内存的负担吗?
我刚刚实现了两个版本,它们出奇地都工作了!
但我的经验告诉我 版本1很糟糕。然而,我有足够的时间来完全优化和实现最终产品。(这是在研究小组工作的好处之一)