【发布时间】:2011-02-02 00:57:03
【问题描述】:
我有一个抽象类和许多子类。子班有 2 到 20 名成员,必须由用户填写。使用 OOP 执行此操作的最佳方法是什么?为每个孩子班级制作表格?或者隐藏和取消隐藏许多输入元素和标签?有什么最好的方法吗?我使用 WPF 和 C#
【问题讨论】:
我有一个抽象类和许多子类。子班有 2 到 20 名成员,必须由用户填写。使用 OOP 执行此操作的最佳方法是什么?为每个孩子班级制作表格?或者隐藏和取消隐藏许多输入元素和标签?有什么最好的方法吗?我使用 WPF 和 C#
【问题讨论】:
所有类之间共享的所有成员都应该放在抽象基类中。
不过,我们确实需要更多信息。成员是否完全不同/动态?为什么每个子类应该有单独的表格?
如果表单的用户操作相似,那么最好有一个可以处理所有子类的智能表单。您只需要指定哪些成员在哪个子类中可见/可编辑...
【讨论】:
答案取决于您的应用实际做了什么。 UI 的设计应该考虑到用户,而不是底层数据结构。用户可能不知道底层数据结构是什么,也可能不在乎。 UI 应该以使用户最容易使用的方式实现。 (这很少是一项简单的任务。)
将 UI 与数据紧密耦合并不是一个好习惯。您可以使用多种架构来确保 UI 和数据保持解耦:MVC、MVP、MVVM 等。
http://en.wikipedia.org/wiki/Model-View-Controller
http://en.wikipedia.org/wiki/Model_View_Presenter
http://en.wikipedia.org/wiki/Model_View_ViewModel
对于您的问题的更具体的答案,使用上述架构之一,您可能需要每个类都有一个“表单”(通常称为“视图”)。
【讨论】: