2015-08-13 23:54:40 +02:00
---
layout: pattern
title: Execute Around
folder: execute-around
2015-08-15 18:03:05 +02:00
permalink: /patterns/execute-around/
2019-12-13 21:09:28 +02:00
categories: Idiom
2015-12-28 15:52:44 +02:00
tags:
2019-12-13 21:09:28 +02:00
- Extensibility
2015-08-13 23:54:40 +02:00
---
2016-01-03 21:14:30 +01:00
## Intent
Execute Around idiom frees the user from certain actions that
2015-08-13 23:54:40 +02:00
should always be executed before and after the business method. A good example
of this is resource allocation and deallocation leaving the user to specify
only what to do with the resource.
2019-12-07 20:01:13 +02:00
## Class diagram
2015-08-13 23:54:40 +02:00

2016-01-03 21:14:30 +01:00
## Applicability
Use the Execute Around idiom when
2015-08-13 23:54:40 +02:00
2015-08-15 18:03:05 +02:00
* you use an API that requires methods to be called in pairs such as open/close or allocate/deallocate.
2016-01-27 12:55:59 +05:30
2016-02-02 17:31:12 +01:00
## Credits
2019-12-13 21:09:28 +02:00
2016-01-27 12:55:59 +05:30
* [Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions ](http://www.amazon.com/Functional-Programming-Java-Harnessing-Expressions/dp/1937785467/ref=sr_1_1 )