Flyweigth 享元模式
Flyweigth 享元模式

数据库连接池、线程池、字符串常量池(String)都是享元模式。从pool取对象而不是一直new。
interface Flyweigths{void print();}class FlyweigthPart implements Flyweigths{String str;public FlyweigthPart(String str) {this.str = str;}@Overridepublic void print() {System.out.println("str"+str);}}class FlyweigthsPool{ArrayList<Flyweigths> flyweigthsList = new ArrayList<>();public FlyweigthsPool add(Flyweigths flyweigths){flyweigthsList.add(flyweigths);return this;}public Flyweigths get(String a){for(Flyweigths flyweigths:flyweigthsList){if(((FlyweigthPart)flyweigths).str.equals(a)){return flyweigths;}}return new FlyweigthPart(a);}}
