Commented flyweight example.
This commit is contained in:
		| @@ -3,6 +3,11 @@ package com.iluwatar; | |||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  * The class that needs many objects. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| public class AlchemistShop { | public class AlchemistShop { | ||||||
|  |  | ||||||
| 	List<Potion> topShelf; | 	List<Potion> topShelf; | ||||||
|   | |||||||
| @@ -1,5 +1,12 @@ | |||||||
| package com.iluwatar; | package com.iluwatar; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  * Flyweight (PotionFactory) is useful when there is plethora of | ||||||
|  |  * objects (Potion). It provides means to decrease resource usage | ||||||
|  |  * by sharing object instances. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| public class App  | public class App  | ||||||
| { | { | ||||||
|     public static void main( String[] args ) |     public static void main( String[] args ) | ||||||
|   | |||||||
| @@ -1,5 +1,10 @@ | |||||||
| package com.iluwatar; | package com.iluwatar; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  * Interface for objects. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| public interface Potion { | public interface Potion { | ||||||
|  |  | ||||||
| 	public void drink(); | 	public void drink(); | ||||||
|   | |||||||
| @@ -2,6 +2,11 @@ package com.iluwatar; | |||||||
|  |  | ||||||
| import java.util.EnumMap; | import java.util.EnumMap; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  * Flyweight. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| public class PotionFactory { | public class PotionFactory { | ||||||
|  |  | ||||||
| 	private EnumMap<PotionType, Potion> potions; | 	private EnumMap<PotionType, Potion> potions; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user