当前位置: 首页 > news >正文

南昌网站建设模板服务商建设什么网站挣钱

南昌网站建设模板服务商,建设什么网站挣钱,教育网站建设开发,甘肃温室大棚建设网站1 享元模式介绍 2 享元模式原理 3 享元模式实现 抽象享元类可以是一个接口也可以是一个抽象类,作为所有享元类的公共父类, 主要作用是提高系统的可扩展性. //* 抽象享元类 public abstract class Flyweight {public abstract void operation(String extrinsicState); }具体享…1 享元模式介绍 2 享元模式原理 3 享元模式实现 抽象享元类可以是一个接口也可以是一个抽象类,作为所有享元类的公共父类, 主要作用是提高系统的可扩展性. //* 抽象享元类 public abstract class Flyweight {public abstract void operation(String extrinsicState); }具体享元类 具体享元类中要将内部状态和外部状态分开处理,内部状态作为具体享元类的成员变量,而外部状态通过注入的方式添加到具体享元类中. /*** 可共享的-具体享元类* 注意: 在具体享元类中,需要将内部状态和外部状态分开处理.**/ public class ConcreteFlyweight extends Flyweight{//内部状态 : inState作为一个成员变量,同一个享元对象的内部状态是一致的.private String inState;public ConcreteFlyweight(String inState) {this.inState inState;}/*** 外部状态在使用的时候,通常是有外部设置,不保存在享元对象中,即使是同一个对象* param state*/Overridepublic void operation(String state) {System.out.println( 享元对象的内部状态: inState ,外部状态: state );} }非共享享元类,不复用享元工厂内部状态,但是是抽象享元类的子类或实现类 /*** 非共享的具体享元类**/ public class UnsharedFlyweight extends Flyweight{private String inState;public UnsharedFlyweight(String inState) {this.inState inState;}Overridepublic void operation(String state) {System.out.println( 使用不共享对象,内部状态: inState ,外部状态: state );} }享元工厂类, 管理一个享元对象类的缓存池。它会存储享元对象之间需要传递的共有状态比如按照大写英文字母来作为状态标识这种只在享元对象之间传递的方式就叫内部状态。同时它还提供了一个通用方法getFlyweight()主要通过内部状态标识来获取享元对象。 /*** 享元工厂类* 作用: 作为存储享元对象的享元池.用户获取享元对象时先从享元池中获取,有则返回,没有创建新的返回给用户,* 并且在享元池中保存**/ public class FlyweightFactory {//定义一个Map集合用于存储享元对象,实现享元池private MapString,Flyweight pool new HashMap();//实现享元对象之间的状态传递public FlyweightFactory() {//添加对应的内部状态pool.put(A,new ConcreteFlyweight(A));pool.put(B,new ConcreteFlyweight(B));pool.put(C,new ConcreteFlyweight(C));}//根据内部状态进行查找public Flyweight getFlyweight(String key){//对象是否存在if(pool.containsKey(key)){System.out.println( 享元池中存在,直接复用,key : key);return pool.get(key);}else{//如果对象不存在,就创建一个添加到享元池,然后返回System.out.println( 享元池中不存在,创建并复用,key: key);Flyweight fw new ConcreteFlyweight(key);pool.put(key,fw);return fw;}} }public class Client {public static void main(String[] args) {//获取工厂对象FlyweightFactory factory new FlyweightFactory();//通过工厂对象获取共享的享元对象Flyweight a1 factory.getFlyweight(A);a1.operation(a1ExState);Flyweight a2 factory.getFlyweight(A);a2.operation(a2ExState);System.out.println(a1 a2);//获取非共享的享元对象UnsharedFlyweight u1 new UnsharedFlyweight(A);UnsharedFlyweight u2 new UnsharedFlyweight(A);System.out.println(u1 u2);} }4 享元模式应用实例 /*** 抽象享元类: 五子棋**/ public abstract class GobangFlyweight {public abstract String getColor();public void display(){System.out.println(棋子颜色: this.getColor());} }/*** 共享享元类-白色棋子**/ public class WriteGobang extends GobangFlyweight {Overridepublic String getColor() {return 白色;} }/*** 共享享元类-黑色棋子**/ public class BlackGobang extends GobangFlyweight {Overridepublic String getColor() {return 黑色;} }/*** 享元工厂类-生产五子棋棋子**/ public class GobangFactory {//享元池private static MapString,GobangFlyweight pool;//创建共享享元对象,设置对象的内部状态private GobangFactory() {pool new HashMap();GobangFlyweight black new BlackGobang(); //黑子GobangFlyweight write new WriteGobang(); //白子pool.put(b,black);pool.put(w,write);}//获取唯一享元工厂对象的方法public static GobangFactory getInstance(){return SingletonHolder.INSTANCE;}//静态内部类private static class SingletonHolder{private static final GobangFactory INSTANCE new GobangFactory();}//通过key获取集合中的享元对象public GobangFlyweight getGobang(String key){return pool.get(key);}}public class Client {public static void main(String[] args) {GobangFactory instance GobangFactory.getInstance();//获取3颗黑子GobangFlyweight b1 instance.getGobang(b);GobangFlyweight b2 instance.getGobang(b);GobangFlyweight b3 instance.getGobang(b);System.out.println(判断黑子是否是同一对象: (b1 b2));GobangFlyweight w1 instance.getGobang(w);GobangFlyweight w2 instance.getGobang(w);System.out.println(判断白子是否是同一对象: (w1 w2));//显示棋子b1.display();b2.display();b3.display();w1.display();w2.display();} }5 享元模式总结
http://www.w-s-a.com/news/49588/

相关文章:

  • 网站建设实训记录企业网站建设运营
  • 视频网站文案住房和城乡建设部门
  • 汕头网站排名推广新余门户网站开发
  • 湖南智能网站建设哪家好wordpressμ
  • 公司网站备案必须是企业信息么睢宁县凌城做网站的
  • 上海网站建设公司 珍岛宁波免费自助建站模板
  • 南昌知名的网站建设公司南京网站开发选南京乐识赞
  • 外贸网站建设 深圳seo怎么提升关键词的排名
  • 网站推广效果的评价google关键词
  • 模板网站建站哪家好做微信充值网站
  • 抽奖的网站怎么做的广州小程序定制开发
  • 网站的文件夹建设企业网站公积金
  • 做网站的的价位网站建设 考试题目
  • 深圳比邻网站建设北京优化服务
  • 菏泽网站建设哪家好电子商务网络安全
  • 仿一个网站广州网站建设正规公司
  • 网站建设 目的seo网站关键词排名快速
  • 什么叫做响应式网站自媒体全平台发布
  • 企业网站 案例哪里需要人做钓鱼网站
  • 厚街东莞网站建设网站开发者调试模式
  • 网站推广营销联系方式wordpress adminlte
  • 哪些网站可以做文字链广告卖水果网站建设的策划书
  • 雕刻业务网站怎么做企业qq官网
  • 新华书店的做的数字阅读网站wordpress编辑器格式
  • jq做6个网站做什么好广西临桂建设局网站
  • 网站新闻图片尺寸南京网站设计公司
  • 重庆seo建站网站服务器 安全
  • 咸宁做网站的公司桂林网站建设兼职
  • 教做网站网站开发行业分析
  • 忻州网站建设培训友情链接交换形式有哪些