Lazy initialization is a technique that defers the creation of an object until the first time it is needed. In other words, initialization of the object happens only on demand. Note that the terms lazy initialization and lazy instantiation mean the same thing—they can be used interchangeably. By taking advantage of lazy initialization, you can improve the application’s performance by avoiding unnecessary computation and memory consumption. In this article we’ll look at how we can perform lazy initialization in C#.
Let’s understand lazy loading with a simple example. Consider two classes, Customer
and Order
. The Customer
class contains an Orders
property that in turn references a collection of instances of the Order
class. The Orders
collection may contain a large amount of data and may even need a database connection to connect to the database and retrieve records. In such a case, there is no point in loading data in the Orders
property until we need the data. Lazy initialization allows us to load the Orders
collection only when the data is asked for.
No comments:
Post a Comment