其他
[答疑]大老二和德州扑克-属性值没变,状态怎么变了
UMLChina潘加宇
算。
由属性值决定,又没有说怎么决定,状态=f(x,y,z),x,y,z没变,f变了,结果还是由x,y,z推出,但可能不是原来那个结果。而且,这种变化是规则上的变化,影响的是所有的实例,影响远比某个对象的属性值变化引起的状态变化要激烈。
状态机是描述类的规则的一种形式,有了规则之后,所有对象按照规则行事。对象的属性值改变,对象可能会从一个状态转到另一个状态,但状态机图本身是不变的。
而规则的改变,则是换了一张新的状态机图。“>170算高改为>180算高”这种改动只是微调,改动的可能是迁移上的警戒条件。激烈的改动,有可能“高”的状态就从状态图机上直接消失了,这时还谈什么高不高的。
用玩扑克牌类比。抓牌抓到的都是一张黑桃2,玩大老二(锄大地)的人会很开心,觉得拿到了“强”牌,但玩德州扑克的就可能不开心了,觉得拿到的是“弱”牌。
[3级]类的精细建模高阶+10月30-11月1日晚8点网络公开课
[架构师强化]11月6-8晚8点企业应用架构模式新解-网络公开课
[架构师强化]11月13-17晚8点分析设计高阶网络公开课(原“剔除伪创新的领域驱动设计”)