1 享元是共享元件的意思,用于避免对象泛滥造成的资源浪费
    2 可以共享元件的地方有 马赛克,游戏地图等
    3 适用于 需要的实例完全相同 且需要多次加载的地方
    4 实行懒加载,第一次加载的时候new对象并放置在缓存池中,后面就从缓存池获取

    1. public Drawaable getDrawable(String image){
    2. if(!images.containsKey(image)){
    3. switch(image){
    4. case "河流"
    5. images.put(image,new River());
    6. break;
    7. ...
    8. }
    9. }
    10. return images.get(image);
    11. }

    5 抛弃了利用“new”关键字随意制造对象的方法,改用这个图件工厂类来构建并共享图件元,外部需要什么图件直接向图件工厂索要即可
    6 享元模式让图件对象将可共享的内蕴状态“图片”维护起来,将外蕴状态“坐标”抽离出去并定义于接口参数中
    image.png
    7 “享元”的理念其实就是萃取事物的本质,将对象的内蕴状态与外蕴状态剥离开来,其中内蕴状态成为真正的“元”数据,而外蕴状态则被抽离出去由外部负责维护,最终达成内外相济、里应外合的结构