我想看看我是否可以设计一个HtmlHelper扩展方法,它将为我想要生成的不同类型的小部件生成Html。
每种不同类型的小部件都实现了获取和准备需要呈现的任何数据的功能。
任何人都可以建议我可以参考的任何模式吗?我知道可能有框架可以为我做这个,但我想我还是试一试。有什么建议吗?
由于
答案 0 :(得分:1)
要从一个类族创建对象(所有族都有一个共同的超类型),您应该使用factory method或abstract factory设计模式。
答案 1 :(得分:0)
我会在大多数小部件布局中使用PartialViews,这就是我处理它的方式。我所做的是为小部件本身提供PartialView,然后让每个特定小部件为其内容实现PartialView。我的模型包含一组小部件模型。每个小部件模型都包含有关其页面放置的信息 - 区域和顺序 - 以及为其内容呈现的视图。我正在渲染的视图使用区域和顺序信息将小部件放置在网格中,并使用每个单独的小部件模型呈现通用小部件部分,因为它是部分的模型。窗口小部件部分使用窗口小部件中的数据来选择该窗口小部件的内容部分。该内容部分是对该窗口小部件的视图模型的强类型,并直接使用窗口小部件模型中的数据。为了使其工作,窗口小部件模型将视图模型公开为通用对象属性,以便窗口小部件可以将模型数据传递给内容部分。