Skip to content

Instantly share code, notes, and snippets.

@ronascentes
Forked from dfinke/Singleton.ps1
Created July 30, 2024 13:51
Show Gist options
  • Save ronascentes/36aab80a823cf930db428157ccb0d22d to your computer and use it in GitHub Desktop.
Save ronascentes/36aab80a823cf930db428157ccb0d22d to your computer and use it in GitHub Desktop.
PowerShell Singleton Pattern: Ensure single instance for shared resource management
# Singleton
class Product {
$Name
Product($name) {
$this.Name = $name
}
}
class Creator {
static [Product]$product
static [Product] GetProduct() {
if ($null -eq [Creator]::product) {
[Creator]::product = [Product]::new((Get-Date))
}
return [Creator]::product
}
}
$p = [Creator]::GetProduct()
$p
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment