假设您有一个特定页面类型的页面(例如普通页面、帐户页面等)。页面由 Page 对象表示。
我的问题是,如何为页面分配页面类型?
我看到这些选项:
- 通过使用 Page 对象中设置的 PageType 枚举。
- 通过使用 PageType 类,并在 Page 对象中分配它的实例。
- 通过使用页面标签,页面标签是与 Page 对象关联的简单字符串。
选项 1 是仅代码方法,因此添加新页面类型意味着更改(核心)代码。
选项 2 更灵活,但维护这些页面类型会产生额外的开销。
选项 3 非常灵活,因为无需维护,并且可以扩展到页面类型之外的其他机制。但你可以很容易地破坏东西,因为没有任何限制。
选择其中一种而不是另一种的其他客观原因是什么?
缺乏有关系统设计和页面要求、支持的不同页面类型的数量以及页面本身之间的差异的详细信息,因此很难做出这样的决定。在这种情况下我会建议把事情简单化 http://en.wikipedia.org/wiki/KISS_principle并使用Enum http://msdn.microsoft.com/en-us/library/sbbt4032%28v=vs.80%29.aspx.
- 如果页面有自己特定的业务逻辑,您可以坚持使用每个页面类型的类,但只有当真正存在页面特定的逻辑时才要小心。
- 考虑用户控制/自定义控制功能(假设您正在使用
ASP.NET
)这样你就可以通过一组负责页面功能的控件来分割页面,这样你就可以保留单一责任原则 http://en.wikipedia.org/wiki/Single_responsibility_principle并构建较少耦合的系统。
- 一些逻辑应该是
extracted
从页面实体本身到外部帮助器/工厂/存储库,然后注入到页面类中。
关于目标,
您应该定义可能存在的页面数量以及应提供哪种级别的灵活性。还要记住诸如系统的可扩展性和维护之类的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)