2011-02-18 48 views
0

有什么地方找到实现设计模式多任务(与解决方案一起?)设计模式分配

我的想法是让双手以适当的方式。我想用Java来实现这些。目前我只需要基本的设计模式,而不是J2EE模式。

我实际上是在寻找完整的应用程序来开发使用大多数设计模式。 (所有的设计模式在一个单一的分配)

+0

@Deepak:我实际上在寻找一种赋予所有设计模式的赋值类型。即使下面的链接是好的,我会检查哪个链接满足我的需求并接受解决方案 – srinannapa 2011-02-18 18:13:08

+1

[Here](http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns) – jitm 2011-02-18 17:22:36

回答

6

为我建造Antfarm的例子负荷!

您想转让吗?我会给你一个。它将于2月22日星期二太平洋时间晚上9点到期。你将为我建立一个antfarm,并且你将使用一些常见的设计模式来完成它。

这没有每一个设计模式,因为这只是愚蠢的。但是,它确实有足够的交互性,而且足够简单,可以快速实施。一旦完成,我们可以考虑在我们的蚂蚁农场添加更多功能!

我会根据需要添加要求(以及他们添加的修订版)。

这里的要求:

功能需求

  • 草地上可以有许多蚂蚁农场在其中。对于这项任务,只允许一个草地发生。
  • 草地应该能够产生无限数量的antfarms。
  • 一个antfarm应该由一个antfarm房间组成。
  • 一个反蚁巢应该有产生更多蚂蚁的房间。
  • 蚂蚁应该能够与其他蚂蚁战斗。当他们这样做时,战斗失败者应该死亡(它的敌人不能再命令它),战斗的胜利者应该获得蚂蚁的属性。
  • 一个antfarm应该只有一种蚂蚁。每个物种都应该有一些奖励。也许他们更快地收获食物。也许他们有更高的机会杀死其他蚂蚁。
  • 如果一个蚂蚁殖民地的成员杀死另一个殖民地的女王,那么这个杀手的女王应该控制死后的蚂蚁群体。现在所有的蚂蚁都应该具有这两种蚂蚁的属性。 (所以如果一个物种强壮,另一个物种高效,那么现在这两个种群都合并成一个强壮且高效的群体。)
  • 蚂蚁应该经常休息一下。当他们这样做时,他们应该食用食物。根据房间数量(每个休息室的X数量),一只蚁群的容量应限制在一次能够容纳多少只蚂蚁。
  • 当滴答结束时,仿真应该结束时,有1个或更少的活动菌落/皇后。这意味着你应该在第一次打勾前产生至少2个菌落。
  • Antfarm中的房间应该需要一定数量的工人蜱来建造。因此,如果需要1名工人100剔挖掘房间,则需要50名工人2个蜱等。但是,建造房间应该有相当大的成本,因为房间决定了你可以休息多少。

技术要求(这要求在规范修订版1中添加):(加粗设计模式)

  • 草甸类必须是一个
  • 一个antfarm应该是通过将房间建成一个antfarm建造的。 (生成器图案)
  • 雄蜂和勇士只能由一个新的集落的目的工厂模式通过草甸与由AntRooms的工厂模式创建,皇后。
  • 使用修饰器模式来跟踪蚂蚁的属性。
  • Antfarms应该是模板化(使用Java泛型)来保存任何类型的ant,并且antfarm应该在运行时指定它拥有哪种类型的ant。
  • 模拟应该基于tick。 (调解员模式)每个嘀嗒,每个蚂蚁(以随机顺序)应根据其周围环境执行一些操作。无人机应该寻找食物,战士应该寻找敌人(或者如果饿的话可以返回食物),而皇后应该产卵。

接口要求

蚂蚁农场的接口应该是一个命令行界面通过以下命令:

  • spawn X Y T - 应该创建在位置X,Y新菌落的物种T.输出应给出一个殖民地的标识符,以便以后可以控制。
  • 示例spawn 14 -32 Killer在x14 y-32位置创建了一群“杀手”蚂蚁。
  • give I R A - 应给出I(在创建时)资源R确定的菌落数量A.
  • 示例give 1 food 50给菌落1 50食物。
  • 例子give 3 warrior 10给殖民地3个10个在殖民地3的基地产卵的战士。

  • tick [T] - 应该执行T tick操作。为了便利,请不要指定T,只需勾选一次即可。

  • tick 10
  • tick

  • summary I - 应该给菌落的摘要I.概述提供了有关该菌落的信息。

  • summary 1可能给下面的输出:

输出:

Species: Killer 
    Workers: 14 
    Warriors: 10 
    Ant Kills: 18 
    Colony kills: 2 (2:Pansy 4:Gatherer) 
    Ticks alive: 143 
    Status: Alive 
  • summary 2可能给下面的输出:

输出:

Species: Pansy 
    Workers: 4 
    Warriors: 0 
    Ant Kills: 2 
    Colony kills: 0 
    Ticks Alive: 25 
    Status: Killed by 1:Killer 

如果遇到任何困难,请发表评论。我会尝试给你一些提示,比如空白类,方法头,或者只是关于如何让这些设计模式与海誓山盟互动的一般想法。

祝你好运,有乐趣

+0

为了记录,我在大约一个小时内自己写了这篇文章。如果有人对此有任何建议,请随时在这里发布,我会考虑将它们放入!对于如何让这个更有趣和更具教育性的想法,我绝对乐于接受。 – corsiKa 2011-02-18 19:41:17

0

你也可以从书“头第一个设计模式”的问题。每章末尾都有很多难题。