2017-08-02 15 views
-1

請參閱圖片。構建可以根據運行環境工作的可重用控件的模式?

三大黑色的矩形是我3種不同的形式。它們屬於我的應用程序中的3個不同的上下文。 紅色的彩色方塊放在所有3種形式上。 但是,紅框的可見性(&允許值,驗證規則等)取決於其他控件的可見性和/或用戶輸入的表單上的值。例如。在第一種形式中,能見度將根據綠色控制的可見性而改變。在另一種形式中,紅色框中的允許值將取決於在藍色列表控件中選擇的值等等。

我應該如何處理紅色控制的值/狀態/驗證?

一種選擇是在每種形式中嵌入一個邏輯。但是這會導致各處的代碼重複。

是狀態模式的一個選項嗎?如果是,那麼紅色控制的服務器端邏輯將不得不處理所有上下文?那麼這段邏輯怎麼知道綠色或藍色控制中的值何時改變?

我想要一個可重複使用的紅色文本框,它在所使用的每個環境中都會以所需的方式運行。

我應該在這種情況下使用哪種模式?如果我在表單上爲每個控件(格林,藍色等)的變化調用服務器端邏輯來計算紅框的可見性/值,那麼考慮性能是否是一個很好的選擇?

我有一個ASP.NET應用程序。

(紅色控制是說明性的,這可能是更復雜的控制或設置的控件。)enter image description here

+0

請提一下您之所以會下調問題的原因。 – Learner

回答

1

最佳解決方案是使用支持這種設計中存在的框架之一。 例如

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

是很多很多其他的,但是這個我有經驗和完美的作品對我來說。

相關問題