我知道策略模式是一种将算法封装在类中的行为模式。同样,构建器模式是将复杂对象的构造分开。
现在,我必须根据用户在UI中选择的类型来创建不同的地图视图(卖方视图,客户视图)(每个地图都有:房屋,建筑物,街道)。我想尽可能地扩展此功能,因为可能会将其他一些视图添加到程序中。在这种情况下,是否应该创建一个封装算法以创建不同视图的策略?还是应该应用构建器模式?还是应该创建一个内部带有构建器的策略?
public class Map
{
private List<House> Houses { get; set; }
private List<Building> Buildings { get; set; }
private List<Street> Streets { get; set; }
}
在用户界面中:
卖方视图:绿色待售房屋和建筑物,红色待售
客户视图:蓝色房屋已被选中购买,仅显示在售房屋中。
谢谢,希望您能理解我的问题!
答案 0 :(得分:0)
据我了解,根据用户角色,您会有不同的行为。因此,具有不同的策略表示数据是合适的。当您必须构造复杂对象时,在策略内部使用 builder 模式听起来也很合理。