很多时候,我发现自己在后面的代码中进行了UI控制操作,并希望找到一种干净的方法来实现这一点。
用例: 下拉列表具有CSS1样式,可在编辑模式下编辑 具有CSS2样式,仅在查看模式下查看
我可以通过简单地使用一组switch case语句来实现这一点。我可以使用多态并创建一个EditMode和ViewMode类,但这需要我引用要传递给这些类的UI控件。这紧密地结合了我想要避免的UI和逻辑层。
有什么想法吗?
修改: 任何人都可以举例说明从后面的代码外部化UI逻辑吗?
答案 0 :(得分:0)
传递一个控件不一定紧密耦合,但我可以理解这个推理并且会同意它,作为一般规则。
一种选择是将类创建为UI类。这并不意味着它必须嵌入ASP.NET Web应用程序中,而是将库设置为Web UI库。我这样做是通过命名:
company.application.UI。{库名称}
您的命名可能不同。
在架构中,拥有具有多态辅助类的UI库没有任何问题。我不会将这些类移到业务层。
答案 1 :(得分:0)
看看Dynamic Data Web Application。在那里,您可以找到一种方法将视图控件与编辑控件完全分开。