【发布时间】: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