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

安徽宿州住房与城乡建设玩网站程序员一个月能挣多少钱

安徽宿州住房与城乡建设玩网站,程序员一个月能挣多少钱,平台型网站开发,网站建设制作服务享元模式#xff08;Flyweight#xff09; 运用共享技术有效地支持大量细粒度的对象。 还记得那年夏天一起在作文本上玩过的五子棋吗#xff1f;五子棋是一种两人对弈的纯策略型棋类游戏#xff0c;它起源于中国古代的传统黑白棋种之中的一个#xff0c;不… 享元模式Flyweight          运用共享技术有效地支持大量细粒度的对象。        还记得那年夏天一起在作文本上玩过的五子棋吗五子棋是一种两人对弈的纯策略型棋类游戏它起源于中国古代的传统黑白棋种之中的一个不仅能增强思维能力提高智力并且富含哲理有助于修身养性。                                                    假设我们要做一个五子棋游戏的程序该怎么做呢看看五子棋游戏中的棋子就是“黑子”和“白子”两种类型假设每次都创建一个新的对象实例是不是太消耗系统内存了呢以下就为大家解决这一问题using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections;namespace 享元模式 {//抽象棋子类public abstract class AbstractChessman{//棋子坐标protected int x;protected int y;//棋子类别黑|白protected string chess;public AbstractChessman (string chess){this.chess chess;}//点坐标设置public abstract void point(int x,int y);//显示棋子信息public void show(){Console.WriteLine(this.chess (this.x,this.y ));}}//黑色棋子实现public class BlackChessman :AbstractChessman{public BlackChessman(): base(●){Console.WriteLine(--BlackChessman Construction Exec!!!);}public override void point(int x,int y){this.x x;this.y y;this.show();}}//白色棋子实现public class WhiteChessman :AbstractChessman{public WhiteChessman(): base(○){Console.WriteLine(--WhiteChessman Construction Exec!!!);}public override void point(int x, int y){this.x x;this.y y;this.show();}}//创建棋子工厂public class FiveChessmanFactory{//单例模式工厂private static FiveChessmanFactory fiveChessmanFactory new FiveChessmanFactory();//缓存存放共享对象private Hashtable cache new Hashtable();//私有化构造方法private FiveChessmanFactory(){ }//获得单例工厂public static FiveChessmanFactory getInstance(){return fiveChessmanFactory;}public AbstractChessman getChessmanObject(string c){//从缓存中获得棋子对象实例AbstractChessman abstractChessman (AbstractChessman)this.cache[c];if (abstractChessman null){//缓存中没有棋子对象实例信息则创建棋子对象实例并放入缓存switch (c){case B:abstractChessman new BlackChessman();break;case W:abstractChessman new WhiteChessman();break;default:break;}//为防止非法字符的进入返回nullif (abstractChessman !null){cache.Add(c, abstractChessman);}}return abstractChessman;}}class Program{static void Main(string[] args){//创建五子棋工厂FiveChessmanFactory fiveChessmanFactory FiveChessmanFactory.getInstance();//随机数用来生成棋子对象Random random new Random();int radom 0;AbstractChessman abstractChessman null;for (int i 0; i 10; i){radom random.Next(2);switch (radom){case 0:abstractChessman fiveChessmanFactory.getChessmanObject(B);break;case 1:abstractChessman fiveChessmanFactory.getChessmanObject(W);break;}if (abstractChessman !null){//设置棋子位置信息abstractChessman.point(i, random.Next(15));}}}} } 享元模式类图                                         在类图中包括例如以下几个角色        Flyweight抽象享元角色全部详细享元的超类为详细享元类规定出须要实现的公共接口。        ConcreteFlyweight详细享元角色实现抽象享元角色所规定的接口。假设有内含状态则必须负责为内含状态提供存储空间。        FlyweightFactory享元工厂角色负责创建和管理享元角色。必须保证享元对象能够被系统适当地共享。主要长处        1.能够极大降低内存中对象的数量使得同样或相似对象在内存中仅仅保存一份从而能够节约系统资源提高系统性能。        2.享元模式的外部状态相对独立并且不会影响其内部状态从而使得享元对象能够在不同的环境中被共享。主要缺点        1.享元模式使得系统变得复杂须要分离出内部状态和外部状态这使得程序的逻辑复杂化。        2.为了使对象能够共享享元模式须要将享元对象的部分状态外部化而读取外部状态将使得执行时间变长。适用场景        1.当系统中某个对象类型的实例较多的时候。        2. 对象的大部分状态都能够外部化能够将这些外部状态传入对象中。        相关的设计模式        1.组合能够使用享元共享组合中的叶子节点从而提高系统的处理效率。        2.单例在享元中一般都是想享元工厂设置为单例以减少系统使用空间。单例本身就是一种享元单例仅仅有一个对象实例被其它对象所共享。转载于:https://www.cnblogs.com/bhlsheji/p/4209208.html
http://www.pierceye.com/news/797047/

相关文章:

  • 有服务器自己怎么做网站深圳财务小公司网站
  • 装修装饰网站建设东莞环保公司
  • 网站开发大公司需要资格证吗申请域名免费
  • 建设维护网站未签订合同网站上线之前做哪些工作
  • dede 网站图标网站安装php
  • 网站管理更新维护湖南网站建设策划
  • 桥头东莞网站建设网站建设的开发方式和费用
  • 无锡网站优化哪家好wordpress会员内容
  • 网站需求分析的重要手机网站建设的规划
  • 国内大一html网站简单设计用那种语言做网站比较好
  • 网站的flash陕西煤化建设集团铜川分公司网站
  • 网站还能赚钱吗logo公司商标设计
  • 数字校园建设专题网站wordpress游览器标签页
  • 企业网站分析报告途牛网站大数据建设
  • 免费创建论坛网站wordpress sql插件
  • 有移动端网站 怎么做app做网站的困难
  • 金种子酒业网站建设苏州专业的网站建设公司
  • 住房与住房建设部网站首页给网站做收录较好的软件
  • 课程网站的设计网站开发遇到的难题
  • 学网站建设要什么iis 二级网站 发布
  • 怎么仿做网站wordpress文章进不去
  • 网站建设费算办公费吗html5商城网站模板
  • 188旅游网站源码下载做个爬架网站如何做
  • 中国做的比较好的网站设计公司有哪些可以做翻译兼职的网站吗
  • 深圳做网站建设公司dw学生个人网页制作视频
  • html网页设计代码作业网站衡水武邑县建设局网站
  • 网站后台登陆验证码wordpress 前台加载慢
  • 网站推广去哪家比较好专门做网站的公司叫什么
  • 前端做项目的网站资源公司做网站的步骤
  • 资源分享网站怎么建设网站建设百度云