任何数学方法都能处理复杂对象的状态管理?

rud*_*nev 5 math user-interface state state-management

我通常使用ASP.net Web表单进行GUI,也许是最"有状态"的技术之一.但它适用于任何拥有国家的技术.有时表单很棘手且复杂,每个元素有> 30个元素和> 3个状态.设计这种形式的直观方式通常可以达到90%.其他10%通常会找到测试人员或最终用户:).

我认为这个问题我们应该想象同一个对象上的很多场景,这比独立操作的结果要困难得多.

从函数式编程课程我知道,最好的方法是不使用状态管理,并使用纯函数和变量值和所有这些东西,这是非常正式的.有时,我们无法避免它.

您是否使用任何数学形式和方法来对复杂对象进行状态管理?不像Haskell中的monads,但它可以用于更传统的业务应用程序和语言 - Java,C#,C++.

它可能不是图灵完整的形式主义,但99%也将是伟大的:).

对不起,如果它只是另一个风滚草问题:)

Cha*_*art 1

使用消息传递作为抽象。优点:

  1. 复杂状态的困难在于复杂的交互,这在并发系统(如典型的 GUI)中尤其复杂。消息传递通过消除共享状态来阻止一个进程中状态的复杂性具有传染性。
  2. 消息传递并发有很好的基础模型:例如,Actor 模型、CSP,它们都影响了 Erlang。
  3. 它与函数式编程很好地集成:再次查看 Erlang。 Peter van Roy 的书《计算机编程的概念、技术和模型》是一本优秀的著作,它展示了编程语言的基本要素,例如纯函数和消息传递,以及如何将它们组合起来。该文本以免费 PDF 形式提供。