디자인 모드 (향 원 모드)

3454 단어 디자인 모드
향 원 모드 는 한 대상 의 캐 시 로 이해 할 수 있 으 며, 향 원 공장 을 구축 하여 모든 대상 을 관리 합 니 다.
코드 는 다음 과 같 습 니 다:
  • Flyweight 향 원 인터페이스
  • public interface Flyweight {
        public void doAction();
    }
  • FlyweightImpl 이 구체 적 으로 공 유 된 클래스 실현
  • public class FlyweightImpl implements Flyweight{
    
        @Override
        public void doAction() {
            System.out.println("doAction");
        }
    }
  • FlyweightFactory 향 원 공장
  • public class FlyweightFactory {
    
        private static Map<String, Flyweight> flyweights 
            = new HashMap<String, Flyweight>();
    
        public static Flyweight getFlyweight(String key) {
            if (flyweights.get(key) == null) {
                flyweights.put(key, new FlyweightImpl());
            }
            return (Flyweight) flyweights.get(key);
        }
    
        public static int getSize() {
            return flyweights.size();
        }
    }
  • APP 테스트 클래스
  • public class App {
    
        public static void main(String[] args) {
            FlyweightFactory factory = new FlyweightFactory();
            factory.getFlyweight("a").doAction();
            factory.getFlyweight("b").doAction();
            factory.getFlyweight("a").doAction();
            
            System.out.println(factory.getSize());
        }
    }
  • 출력 결과
  • doAction
    doAction
    doAction
    2

    좋은 웹페이지 즐겨찾기