首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用设计模式实现最便宜的旅馆查找器?

如何使用设计模式实现最便宜的旅馆查找器?
EN

Stack Overflow用户
提问于 2011-12-26 07:50:04
回答 1查看 2.2K关注 0票数 0

6个月前,我接受了一次ThoughtWorks的采访,当时我正忙着写代码。我想提高我的OO设计技能

首先,我阅读了Head First Design patterns,并对常见的设计模式有了一个基本的想法。当我正在研究iOS的时候,我正在学习目标C,并且遇到了通过动态语言应用的各种设计模式,以及对事物的理解。

但是,我仍然希望确定在这个示例问题中使用的模式的适当选择是什么。

也可能是一些关于如何提高这些技能的建议。

这就是问题所在。

有一家连锁酒店。LakeWood、Rosewood和xyzWood有三个分支。所有这四种费率取决于不同的组合,无论是工作日,周末,顾客是奖励还是定期。

用户输入是一系列的日期,他想在其中一个酒店和他的类型。产量应该是最好的酒店,取决于哪一个是最便宜的住宿。在领带的情况下,每家酒店都会有评分,而评分较高的酒店将决定领带。程序应该是灵活的,这样就可以使用新的算法来寻找最好的酒店,如果酒店结构有任何变化,也可以添加更多的酒店。

我跟我们一起学习了以下的java类。

rates

  • HotelFinder

  • Hotel :有评级、名称和4种类型的接口,它有一个查找器方法,返回实现此接口的Hotel.
  • CheapestHotelFinder类,并具有客户或客户类型等属性,这些属性可能是一个枚举,不确定,还有一个日期列表。
  • 可能是一个客户类,其中客户的详细信息为日期n类型,而该客户被提供给查找者。
  • 是否有一种方法可以将类似的接口用于酒店类?
  • 和一个预订系统Singleton类,它将为我们完成所有工作。

F 213

我被困在这里了。我希望有人能帮我解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-04-01 18:42:58

我认为模板方法模式更适合这里。1.创建酒店接口2.创建3个酒店类(实现酒店接口) LakeWood、Rosewood和xyzWood

  1. 现在创建了customer类,它还将有一系列的日期。

这里,Customer类和hotel类都是independent.

  • now,创建一个接口,例如LogicInterface,它将有一个方法,该方法将被传递给客户并将酒店列表作为参数,并返回最便宜的酒店。现在我们将在这个类中创建实现LogicInterface.cheap酒店查找逻辑的类,这里将使用“模板方法模式”,因为稍后和最便宜的酒店查找逻辑发生了更改,我们将创建新的类,它将实现LogicInterface,只有一行更改将完成我们的工作,不需要任何代码更改。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8633916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档