diff --git a/dirty-flag/README.md b/dirty-flag/README.md new file mode 100644 index 000000000..36c92f0e2 --- /dev/null +++ b/dirty-flag/README.md @@ -0,0 +1,26 @@ +--- +layout: pattern +title: Dirty Flag +folder: dirty-flag +permalink: /patterns/dirty-flag/ +categories: Other +tags: + - Java + - Difficulty-Easy + - Performance +--- + +## Intent +To avoid expensive re-acquisition of resources. The resources retain their identity, are kept in some +fast-access storage, and are re-used to avoid having to acquire them again. + +![alt text](./etc/dirty-flag.png "Dirty Flag") + +## Applicability +Use the Dirty Flag pattern when + +* Repetitious acquisition, initialization, and release of the same resource causes unnecessary performance overhead. + +## Credits + +* [Design Patterns: Dirty Flag](https://www.takeupcode.com/podcast/89-design-patterns-dirty-flag/) diff --git a/dirty-flag/pom.xml b/dirty-flag/pom.xml index 92b53dab2..aa76b5261 100644 --- a/dirty-flag/pom.xml +++ b/dirty-flag/pom.xml @@ -16,10 +16,14 @@ UTF-8 + + org.junit.jupiter + junit-jupiter-api + test + - junit - junit - 3.8.1 + org.junit.jupiter + junit-jupiter-engine test diff --git a/dirty-flag/src/test/java/org/dirty/flag/AppTest.java b/dirty-flag/src/test/java/org/dirty/flag/AppTest.java index 59d93588a..50f107cd5 100644 --- a/dirty-flag/src/test/java/org/dirty/flag/AppTest.java +++ b/dirty-flag/src/test/java/org/dirty/flag/AppTest.java @@ -24,7 +24,7 @@ package org.dirty.flag; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.iluwatar.dirtyflag.App; diff --git a/dirty-flag/src/test/java/org/dirty/flag/DirtyFlagTest.java b/dirty-flag/src/test/java/org/dirty/flag/DirtyFlagTest.java index 055b30e8c..b6cb57fa4 100644 --- a/dirty-flag/src/test/java/org/dirty/flag/DirtyFlagTest.java +++ b/dirty-flag/src/test/java/org/dirty/flag/DirtyFlagTest.java @@ -22,13 +22,13 @@ */ package org.dirty.flag; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.lang.reflect.Field; import java.util.List; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import com.iluwatar.dirtyflag.DataFetcher; @@ -39,7 +39,7 @@ import com.iluwatar.dirtyflag.DataFetcher; */ public class DirtyFlagTest { - @Before + @BeforeEach public void reset() throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException { Field instance = DataFetcher.class.getDeclaredField("df"); instance.setAccessible(true);