django的状态转换系统
django-sts的Python项目详细描述
#django
[状态转移系统][1]的状态转移系统(sts)比有限状态自动机具有更少的约束。可用于各种用例。
核心组件包括:
-state
-event
-transition
-system
**事件**导致**从某个**状态**过渡到给定**系统**内的新状态。
现在,举一个引人入胜的例子..
`` python
system=system(name='example 1')
system.save()
event=>;state
system.transition(“门已打开”,event=“门已打开”)
“长时间运行”转换。事件发生
系统。开始转换(“慢慢关门”)
改用“transition”
上下文管理器:
``python
from sts.contextmanagers导入transition
with transition(“example 1”,“door closed”,event=“close door slowly”):
time.sleep(2)
````
额外的便利性:
‘Python’Br/>跃迁数<BR/> LeN(系统)=系统:长度为Br/> Br/>反式反式系统的BR/>开始:
…BR/> BR/>标引和切片
系统〔3〕→前3个转变
系统〔3〕〕最后的3个转变
系统[:-3 ],除最后3个之外全部除外。转换
系统[1:3]任意切片[BR/>系统[2 ] ]特定的过渡
` BR/> BR/>这使得Django STS进入一个现有的模型来跟踪对象的BR/>状态。
BR/>它甚至带有一个抽象的“STSMODEM”,用上面的BR/>方法增加一个模型以进行无缝集成(它不增加任何一个)。模型字段):
`` python
类门(stsmodel):
name=models.charfield(最大长度=20)
door=door()
door.save()
door.transition('door closed',event=“close door”)
````
库将由应用程序来实现
有限状态自动机/机器的约束。
[1]:http://en.wikipedia.org/wiki/state_transition_system
[状态转移系统][1]的状态转移系统(sts)比有限状态自动机具有更少的约束。可用于各种用例。
核心组件包括:
-state
-event
-transition
-system
**事件**导致**从某个**状态**过渡到给定**系统**内的新状态。
现在,举一个引人入胜的例子..
`` python
system=system(name='example 1')
system.save()
event=>;state
system.transition(“门已打开”,event=“门已打开”)
“长时间运行”转换。事件发生
系统。开始转换(“慢慢关门”)
改用“transition”
上下文管理器:
``python
from sts.contextmanagers导入transition
with transition(“example 1”,“door closed”,event=“close door slowly”):
time.sleep(2)
````
额外的便利性:
‘Python’Br/>跃迁数<BR/> LeN(系统)=系统:长度为Br/> Br/>反式反式系统的BR/>开始:
…BR/> BR/>标引和切片
系统〔3〕→前3个转变
系统〔3〕〕最后的3个转变
系统[:-3 ],除最后3个之外全部除外。转换
系统[1:3]任意切片[BR/>系统[2 ] ]特定的过渡
` BR/> BR/>这使得Django STS进入一个现有的模型来跟踪对象的BR/>状态。
BR/>它甚至带有一个抽象的“STSMODEM”,用上面的BR/>方法增加一个模型以进行无缝集成(它不增加任何一个)。模型字段):
`` python
类门(stsmodel):
name=models.charfield(最大长度=20)
door=door()
door.save()
door.transition('door closed',event=“close door”)
````
库将由应用程序来实现
有限状态自动机/机器的约束。
[1]:http://en.wikipedia.org/wiki/state_transition_system