Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设计模式分配_Java_Design Patterns - Fatal编程技术网

Java 设计模式分配

Java 设计模式分配,java,design-patterns,Java,Design Patterns,是否有任何地方可以找到用于实现设计模式(以及解决方案)的多个任务 我的想法是以一种适当的方式获得这些信息。我想用Java实现这些。目前我只需要基本的设计模式,而不是J2EE模式 实际上,我正在寻找使用大多数设计模式开发的完整应用程序。(一次作业中的所有设计模式) 上面的网站迎合了一些设计模式,它还提供了大量的解决方案示例为我建造一个蚂蚁农场 你想要任务吗?我给你一个。定于太平洋时间2月22日星期二晚上9点。你将为我建立一个蚂蚁农场,你将使用一些常见的设计模式来实现它 这并不是所有的设计模式,因为

是否有任何地方可以找到用于实现设计模式(以及解决方案)的多个任务

我的想法是以一种适当的方式获得这些信息。我想用Java实现这些。目前我只需要基本的设计模式,而不是J2EE模式

实际上,我正在寻找使用大多数设计模式开发的完整应用程序。(一次作业中的所有设计模式)



上面的网站迎合了一些设计模式,它还提供了大量的解决方案示例

为我建造一个蚂蚁农场

你想要任务吗?我给你一个。定于太平洋时间2月22日星期二晚上9点。你将为我建立一个蚂蚁农场,你将使用一些常见的设计模式来实现它

这并不是所有的设计模式,因为这很愚蠢。然而,它确实有足够的能力使交互变得复杂,同时又足够简单,可以快速实现。完成后,我们可以考虑为我们的蚂蚁农场添加更多功能

我将根据需要添加需求(添加了哪些修订)

以下是要求:

功能要求

  • 一片草地上可以有许多蚂蚁农场。对于这个任务,只允许一块草地进行
  • 一片草地应该能够在逻辑上无限数量的蚁场中产卵
  • 蚂蚁养殖场应由蚂蚁养殖场房间网络组成
  • 一个蚂蚁养殖场应该有产卵更多蚂蚁的空间
  • 蚂蚁应该能够与其他蚂蚁作战。当他们这样做时,战斗中的失败者应该死亡(它的蚁场不能再指挥它),而战斗中的胜利者应该获得蚂蚁的属性
  • 一个蚂蚁养殖场应该只有一种蚂蚁。每一个物种都应该得到某种奖励。也许他们收获食物更快。也许它们有更高的机会杀死其他蚂蚁
  • 如果一个蚁群的一个成员杀死了另一个蚁群的蚁后,这个杀手的蚁后应该控制死后蚁群的数量。所有蚂蚁现在也应该具有这两种蚂蚁的属性。(因此,如果一个物种强大,而另一个物种高效,那么现在两个种群都合并为一个既强大又高效的种群。)
  • 蚂蚁应该经常休息。当他们这样做的时候,他们应该吃东西。根据房间数量(每个休息室X数量),一个蚂蚁养殖场的容量应限制为一次可以休息多少只蚂蚁
  • 当滴答声结束时,有1个或更少的活跃菌落/蜂王时,模拟应结束。这意味着你应该在第一次蜱虫产卵前至少产卵2个菌落
  • 蚁场中的房间需要一定数量(可能很大)的工作人员才能建造。所以,如果一个工人挖一个房间需要100个蜱虫,那么50个工人挖两个蜱虫,以此类推。但是建造一个房间应该要花费很大的成本,因为房间决定你可以休息多少。(本要求添加在规范第1版中。)
技术要求:(粗体设计模式)

  • Meadow类必须是独生子女
  • 一个蚂蚁养殖场应该是通过把房间建在一个蚂蚁养殖场来建造的(生成器模式)
  • 无人机和战士只能由安特洛姆斯以工厂模式创建,而梅多斯以工厂模式创建皇后,以创建新的殖民地
  • 使用装饰器模式来跟踪蚂蚁的属性
  • Antfarms应该模板化(使用Java泛型)来保存任何类型的ant,antfarm应该在运行时指定它保存的ant类型
  • 模拟应以刻度为基础(中介模式)每一个滴答声,每一只蚂蚁(以随机顺序)都应该根据周围环境执行一些动作。无人机应该寻找食物,战士应该猎杀敌人(或者如果饿了就回去寻找食物),皇后应该产卵
接口要求

ant farm的接口应该是具有以下命令的命令行接口:

  • spawn X Y T
    -应在物种T的位置X,Y创建一个新的菌落。输出应给出菌落的标识符,以便以后可以对其进行控制
  • 示例
    繁殖14-32杀手
    在x14 y-32位置创建一个“杀手”蚁群
  • give I R A
    -应将I(创建时)资源R标识的菌落数量A
  • 示例
    给1个食物50
    给1个菌落50个食物
  • 示例
    给予3名战士10
    给予殖民地3 10名在殖民地3的基地产卵的战士

  • 勾选[T]
    -应执行勾选操作。为了方便起见,允许不指定T,只需勾选一次即可

  • 示例
    勾选10
  • 示例
    勾选

  • 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
    Species: Pansy
    Workers: 4
    Warriors: 0
    Ant Kills: 2
    Colony kills: 0
    Ticks Alive: 25
    Status: Killed by 1:Killer
  • 示例
    摘要2
    可能给出以下输出:
输出:

    Species: Killer
    Workers: 14
    Warriors: 10
    Ant Kills: 18
    Colony kills: 2 (2:Pansy 4:Gatherer)
    Ticks alive: 143
    Status: Alive
    Species: Pansy
    Workers: 4
    Warriors: 0
    Ant Kills: 2
    Colony kills: 0
    Ticks Alive: 25
    Status: Killed by 1:Killer
如果你遇到任何困难,发表评论。我将尝试给您一些提示,比如空白类、方法头,或者关于如何使这些设计模式相互作用的一般想法


祝你好运,玩得开心

您还可以从“头先设计模式”一书中找到问题。在每章的结尾都有很多难题

我正在寻找一个单一任务中的所有设计模式作为记录,我自己在大约一个小时内写下了这篇文章。如果有人对此有任何建议,请随时发布