Dispose Blocks Pattern is an actively used design pattern. To make the safe use of the dispose pattern less verbose, several languages have some kind of built-in support for resources held and released in the same block of code.

?Years Old

Languages with Dispose Blocks Pattern include csharp, python

Example from csharp:

using (Resource resource = GetResource())
{
   // Perform actions with the resource.
   ...
}

Example from python:

with resource_context_manager() as resource:
   # Perform actions with the resource.
# Perform other actions where the resource is guaranteed to be deallocated.

Last updated February 18th, 2020

Edit Dispose Blocks Pattern on GitHub