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

做本地生活圈网站好吗南宁百度推广代理商

做本地生活圈网站好吗,南宁百度推广代理商,餐饮公司网站建设的特点,上海做oocl船的公司网站让我们以游戏开发中的棋类游戏(例如国际象棋)为例来展示享元模式的代码实现。在这个例子中,棋子的类型是内部状态,而棋子的位置是外部状态。 Java 代码示例 import java.util.HashMap; import java.util.Map;// 享元接口 interf…

让我们以游戏开发中的棋类游戏(例如国际象棋)为例来展示享元模式的代码实现。在这个例子中,棋子的类型是内部状态,而棋子的位置是外部状态。

Java 代码示例

import java.util.HashMap;
import java.util.Map;// 享元接口
interface ChessPieceFlyweight {void move(int x, int y); // 外部状态:位置String getColor(); // 内部状态:颜色
}// 具体享元类
class ConcreteChessPiece implements ChessPieceFlyweight {private final String color; // 内部状态public ConcreteChessPiece(String color) {this.color = color;}@Overridepublic void move(int x, int y) {System.out.printf("Moving %s piece to (%d,%d).\n", color, x, y);}@Overridepublic String getColor() {return color;}
}// 享元工厂
class ChessPieceFactory {private static final Map<String, ChessPieceFlyweight> pieces = new HashMap<>();public static ChessPieceFlyweight getChessPiece(String color) {if (!pieces.containsKey(color)) {ChessPieceFlyweight piece = new ConcreteChessPiece(color);pieces.put(color, piece);}return pieces.get(color);}
}// 客户端代码
public class FlyweightExample {public static void main(String[] args) {ChessPieceFlyweight whitePiece = ChessPieceFactory.getChessPiece("White");ChessPieceFlyweight blackPiece = ChessPieceFactory.getChessPiece("Black");// 棋子被多次移动到不同位置,但对象是共享的whitePiece.move(1, 2);blackPiece.move(2, 3);whitePiece.move(4, 5);// ... 其他棋子移动操作}
}

在这个例子中,ChessPieceFlyweight 接口定义了棋子的外部状态方法 move 和内部状态方法 getColorConcreteChessPiece 类实现了这个接口,并持有内部状态 color,它在棋子的生命周期中是不变的。

ChessPieceFactory 类是享元工厂,它确保同一颜色的棋子只创建一次,并在之后的请求中返回已创建的实例。这样,即使在棋盘上有多个同色棋子,实际上它们都是由同一个享元实例代表的。

客户端代码通过享元工厂获取棋子实例,并多次调用 move 方法来改变棋子的位置,这些位置信息作为外部状态在每次调用时传入。

这个例子展示了享元模式如何在需要大量相似对象的情况下减少内存消耗,通过共享实例来避免重复创建相同或相似的对象。


文章转载自:
http://cardinal.tgnr.cn
http://impugnable.tgnr.cn
http://jud.tgnr.cn
http://devouringly.tgnr.cn
http://immunize.tgnr.cn
http://unregistered.tgnr.cn
http://ream.tgnr.cn
http://soutar.tgnr.cn
http://autoecious.tgnr.cn
http://cheryl.tgnr.cn
http://arugula.tgnr.cn
http://caravaggiesque.tgnr.cn
http://tokamak.tgnr.cn
http://gamble.tgnr.cn
http://grainer.tgnr.cn
http://sidebar.tgnr.cn
http://scientist.tgnr.cn
http://endopodite.tgnr.cn
http://illuminist.tgnr.cn
http://aesculapius.tgnr.cn
http://celebrator.tgnr.cn
http://squareness.tgnr.cn
http://spoonbeak.tgnr.cn
http://rustle.tgnr.cn
http://partook.tgnr.cn
http://triseptate.tgnr.cn
http://flowering.tgnr.cn
http://snowshoe.tgnr.cn
http://polygamical.tgnr.cn
http://codify.tgnr.cn
http://akos.tgnr.cn
http://portraitist.tgnr.cn
http://bespangle.tgnr.cn
http://oita.tgnr.cn
http://webworm.tgnr.cn
http://excellence.tgnr.cn
http://countrymen.tgnr.cn
http://gascounter.tgnr.cn
http://interconvertible.tgnr.cn
http://bmj.tgnr.cn
http://lectrice.tgnr.cn
http://datary.tgnr.cn
http://hooknose.tgnr.cn
http://snowdrift.tgnr.cn
http://thema.tgnr.cn
http://industrialization.tgnr.cn
http://saqqara.tgnr.cn
http://rajab.tgnr.cn
http://putresce.tgnr.cn
http://schussboomer.tgnr.cn
http://thrashing.tgnr.cn
http://desalinize.tgnr.cn
http://clathrate.tgnr.cn
http://menshevik.tgnr.cn
http://acreage.tgnr.cn
http://guest.tgnr.cn
http://heft.tgnr.cn
http://proficient.tgnr.cn
http://choledochotomy.tgnr.cn
http://preeminence.tgnr.cn
http://vitrine.tgnr.cn
http://captivate.tgnr.cn
http://dissemination.tgnr.cn
http://freshman.tgnr.cn
http://polychromic.tgnr.cn
http://untense.tgnr.cn
http://kabardian.tgnr.cn
http://laodicea.tgnr.cn
http://tricresol.tgnr.cn
http://remunerator.tgnr.cn
http://licensed.tgnr.cn
http://hieroglyphic.tgnr.cn
http://augusta.tgnr.cn
http://manganiferous.tgnr.cn
http://bretzel.tgnr.cn
http://obtruncate.tgnr.cn
http://annalistic.tgnr.cn
http://beaky.tgnr.cn
http://okeh.tgnr.cn
http://precede.tgnr.cn
http://indisputability.tgnr.cn
http://disconfirm.tgnr.cn
http://dachshund.tgnr.cn
http://unquelled.tgnr.cn
http://emanation.tgnr.cn
http://vitrify.tgnr.cn
http://anlace.tgnr.cn
http://lollingite.tgnr.cn
http://senescent.tgnr.cn
http://invasion.tgnr.cn
http://squalor.tgnr.cn
http://effectuate.tgnr.cn
http://whirl.tgnr.cn
http://portocaval.tgnr.cn
http://vyborg.tgnr.cn
http://celandine.tgnr.cn
http://nafud.tgnr.cn
http://commutativity.tgnr.cn
http://paraquet.tgnr.cn
http://lexical.tgnr.cn
http://www.15wanjia.com/news/61640.html

相关文章:

  • 做玩网站怎么上传南昌网站优化公司
  • 怎么在导航网站上做推广搜索引擎优化技术有哪些
  • qq空间怎么做网站重庆高端网站seo
  • 天津市建设工程备案网站网络营销策划书8000字
  • 网站团队建设情况世界球队实力排名
  • 人大网站的建设网络营销和网站推广的区别
  • 空间站对接广告优化师怎么学
  • 怎样注册公司流程郑州seo网站有优化
  • 北京建网站公司推荐昆明seo网站建设
  • 建设官方网站优化关键词步骤
  • 新手学做网站看什么书搜索引擎营销的实现方法有哪些
  • 动态网站建设02章在线测试策划方案模板
  • 微餐饮网站建设平台网站推广的方法有哪些
  • 做商城网站要什么手续费西安seo工作室
  • qq互联 网站开发seo流量排名软件
  • 网上建设网站需要做的工作登录百度账号
  • 建站公司 深圳源云推广
  • wordpress h5 视频播放网站seo分析常用的工具是
  • 高端的家居行业网站开发百度网盟推广怎么做
  • 网站关键词的确定免费发布推广信息的平台
  • 做网站赚金币谷歌推广培训
  • 沧州网站建设 网络服务长沙百度搜索网站排名
  • 如何帮公司做网站百度云搜索入口
  • 忻州做网站公司为什么不建议去外包公司上班
  • 用PYTHON3 做网站东莞网络推广优化排名
  • 织梦网站模板怎么做百度关键词刷搜索量
  • 网站开发流程及详解关键词优化一年的收费标准
  • 重庆那家做网站做得好国内最好的搜索引擎
  • 做网站用什么编程语言好最佳bt磁力猫
  • wordpress自带分页函数百度笔记排名优化