构建可以根据运行环境工作的可重用控件的模式?

问题描述:

请参阅图片。构建可以根据运行环境工作的可重用控件的模式?

三大黑色的矩形是我3种不同的形式。它们属于我的应用程序中的3个不同的上下文。 红色的彩色方块放在所有3种形式上。 但是,红框的可见性(&允许值,验证规则等)取决于其他控件的可见性和/或用户输入的表单上的值。例如。在第一种形式中,能见度将根据绿色控制的可见性而改变。在另一种形式中,红色框中的允许值将取决于在蓝色列表控件中选择的值等等。

我应该如何处理红色控制的值/状态/验证?

一种选择是在每种形式中嵌入一个逻辑。但是这会导致各处的代码重复。

是状态模式的一个选项吗?如果是,那么红色控制的服务器端逻辑将不得不处理所有上下文?那么这段逻辑怎么知道绿色或蓝色控制中的值何时改变?

我想要一个可重复使用的红色文本框,它在所使用的每个环境中都会以所需的方式运行。

我应该在这种情况下使用哪种模式?如果我在表单上为每个控件(格林,蓝色等)的变化调用服务器端逻辑来计算红框的可见性/值,那么考虑性能是否是一个很好的选择?

我有一个ASP.NET应用程序。

(红色控制是说明性的,这可能是更复杂的控制或设置的控件。)enter image description here

+0

请提一下您之所以会下调问题的原因。 – Learner

最佳解决方案是使用支持这种设计中存在的框架之一。 例如

  • 角2/4
  • 骨干
  • Vue公司

是很多很多其他的,但是这个我有经验和完美的作品对我来说。