【问题标题】:strategy pattern or builder pattern?战略模式还是建设者模式?
【发布时间】:2018-07-08 12:50:59
【问题描述】:

我知道策略模式是一种将算法封装在一个类中的行为模式。还有就是说builder模式是分开构造一个复杂的对象。

现在,我必须根据用户在 UI 中选择的类型创建不同的地图视图(卖家视图、客户视图)(每个地图都有:房屋、建筑物、街道)。我希望尽可能可扩展地执行此操作,因为可能会将其他一些视图添加到程序中。在这种情况下,我应该创建一个封装算法以创建不同视图的策略吗?还是应该应用构建器模式?还是我应该在里面创建一个带有构建器的策略?

public class Map
{
  private List<House> Houses { get; set; }
  private List<Building> Buildings { get; set; }
  private List<Street> Streets { get; set; }
}

在用户界面中:

  • 选择方式:卖方视图、客户视图。
  • 地图:显示包含他所有东西的地图,取决于选择,取决于显示的视图。

卖家观点:绿色为待售房屋和建筑,红色为已售。

客户视图:蓝色的房子是选择购买的,只出现在出售的房子。

谢谢,希望你能理解我的问题!

【问题讨论】:

    标签: strategy-pattern builder-pattern


    【解决方案1】:

    据我了解,您有不同的行为,具体取决于用户角色。因此,有不同的策略来呈现数据是合适的。当您必须构建一个复杂的对象时,在策略中使用 builder 模式听起来也是合理的。

    【讨论】:

      猜你喜欢
      • 2011-07-27
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      相关资源
      最近更新 更多