Edward_jie

for you, my Hall of Frame

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  92 随笔 :: 45 文章 :: 539 评论 :: 43万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

文章分类 -  c#

摘要:意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 场景 游戏场景中的有很多相似的敌人,它们的技能都一样,但是随着敌人出现的位置不同,这些人的能力不太一样。假设,我们现在需要把三个步兵组成一队,其中还有一个精英步兵,能力特别高。那么,你或许可以创建一个敌人抽象类,然后对于不同能力的步兵创建不同的子类。然后,使用工厂方法等设计模式让调用方依赖敌人抽象类。 问题来了,如果有无数种能力不同步兵,难道需要创建无数子类吗?还有,步兵模型的初始化工作是非常耗时的,创建这么多步兵对象可能还会浪费很多时间。我们是不是可以通过只创建一个步兵原型,然后复制出多个一摸一样的步兵呢?复制后... 阅读全文
posted @ 2012-06-01 14:37 Edward_诺 阅读(3109) 评论(1) 推荐(0) 编辑

摘要:一、策略(Strategy)模式策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。假设现在要设计一个贩卖各类书籍的电子商务网站的购物车(Shopping Cat)系统。一个最简单的情况就是把所有货品的单价乘上数量,但是实际情况肯定比这要复杂。比如,本网站可能对所有的教材类图书实行每本一元的折扣;对连环画类图书提供每本7%的促销折扣,而对非教材类的计算机图书有3%的折扣;对其余的图书没有折扣。由于有这样复杂的折扣算法,使得价格计算问题需要系统地解决。使用策略模式可以把行为和环境分割开来。环境类 阅读全文
posted @ 2012-05-29 17:54 Edward_诺 阅读(14710) 评论(2) 推荐(3) 编辑

摘要:一:现象描述:安装完成XAMMP后,内置有MySQL数据库。1.存储内容为utf8编码的.net程序中的视图有中文的时候,查询就会报错,有中文显示为?号,为乱码。问题解决:1、找到安装目录下的D:\xampp\mysql\bin\my.ini,打开:2、找到标记 [mysqld] 和 标记 [mysql]3、在这2处标记下分别添加编码配置信息:default-character-set=gbk修改后如下:Ini代码 [mysql] no-auto-rehash default-character-set=utf8Ini代码 [mysqld] port=3306character-set-ser 阅读全文
posted @ 2012-04-11 12:30 Edward_诺 阅读(748) 评论(0) 推荐(0) 编辑

摘要:一、Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 在多线程中,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。 而在.NET中最好了解一下进程、应用域和线程的概念,因为Lock是针对线程一级的,而在.NET中应用域是否会对Lock起隔离作用 阅读全文
posted @ 2012-02-16 13:42 Edward_诺 阅读(62492) 评论(0) 推荐(5) 编辑

点击右上角即可分享
微信分享提示