Skip to content

Commit 68862f5

Browse files
committed
refactor(striped backups): singleton pattern
1 parent 376e1f4 commit 68862f5

1 file changed

Lines changed: 5 additions & 26 deletions

File tree

src/BackupMetadata.cs

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,9 @@ namespace AgDatabaseMove
77

88
public class StripedBackupEqualityComparer : IEqualityComparer<BackupMetadata>
99
{
10-
private static StripedBackupEqualityComparer _instance = null;
10+
private static readonly Lazy<StripedBackupEqualityComparer> s_instance = new Lazy<StripedBackupEqualityComparer>(() => new StripedBackupEqualityComparer());
1111
private StripedBackupEqualityComparer() { }
12-
13-
public static StripedBackupEqualityComparer Instance {
14-
get
15-
{
16-
if (_instance == null)
17-
{
18-
_instance = new StripedBackupEqualityComparer();
19-
}
20-
return _instance;
21-
}
22-
}
12+
public static StripedBackupEqualityComparer Instance => s_instance.Value;
2313

2414
public bool Equals(BackupMetadata x, BackupMetadata y)
2515
{
@@ -51,22 +41,11 @@ public int GetHashCode(BackupMetadata obj)
5141
/// </summary>
5242
public class BackupMetadataEqualityComparer : IEqualityComparer<BackupMetadata>
5343
{
54-
private readonly StripedBackupEqualityComparer _stripedBackupEqualityComparer = StripedBackupEqualityComparer.Instance;
44+
private static readonly StripedBackupEqualityComparer _stripedBackupEqualityComparer = StripedBackupEqualityComparer.Instance;
5545

56-
private static BackupMetadataEqualityComparer _instance = null;
46+
private static readonly Lazy<BackupMetadataEqualityComparer> s_instance = new Lazy<BackupMetadataEqualityComparer>(() => new BackupMetadataEqualityComparer());
5747
private BackupMetadataEqualityComparer() { }
58-
59-
public static BackupMetadataEqualityComparer Instance
60-
{
61-
get
62-
{
63-
if (_instance == null)
64-
{
65-
_instance = new BackupMetadataEqualityComparer();
66-
}
67-
return _instance;
68-
}
69-
}
48+
public static BackupMetadataEqualityComparer Instance => s_instance.Value;
7049

7150
public bool Equals(BackupMetadata x, BackupMetadata y)
7251
{

0 commit comments

Comments
 (0)