【发布时间】:2011-11-15 06:05:13
【问题描述】:
假设您有一个特定页面类型的页面(例如普通页面、帐户页面等)。页面由 Page 对象表示。
我的问题是,如何为页面分配页面类型?
我看到了这些选项:
- 通过使用在 Page 对象中设置的 PageType 枚举。
- 通过使用 PageType 类,并在 Page 对象中分配它的实例。
- 通过使用页面标签,这是与页面对象关联的简单字符串。
选项 1 是纯代码方法,因此添加新页面类型意味着更改(核心)代码。 选项 2 更灵活,但必须维护这些页面类型会产生额外的开销。 选项 3 非常灵活,因为无需维护,并且可以扩展到页面类型以外的其他机制。但是你可以很容易地破坏事情,因为没有限制。
选择一个而不是另一个的其他客观原因是什么?
【问题讨论】:
-
您希望应用程序的用户能够添加新的页面类型,还是有固定数量的类型?每个页面都只有一种类型,还是您希望页面共享两种或更多类型?
-
用户不能添加页面类型,如果创建页面,他可以在现有页面类型中进行选择。然而,Web 开发人员可以定义新的页面类型;并在某些小部件中使用它来做出决定。
标签: c# design-patterns architecture enums tags