但是UML我得到的是这样的:
+---------+ +---------+
| Context |--------| State |
+---------+ +---------+
|
+----------------+
| |
+---------+ +---------+
| State 1 | | State 2 |
+---------+ +---------+
|
+----------------+
| |
+----------+ +----------+
| State 1A | | State 1B |
+----------+ +----------+
我有“子国家”.怎么编码呢?我应该将抽象类设为状态1还是其他方式?搜索我没有找到这样的例子.
解决方法:
“子国家”的含义是什么?在国家模式中,没有什么可以被视为“子国家”. “州”代表实体的状态.每个州都是一个州.除非你对你想要达到的目标做出合理的解释,否则我相信你正在思考一些不正确的事情.
只要所有状态共享相同的基类/接口,它就会起作用.您可能在状态之间具有继承关系,它仍然可以工作,并且它与状态模式无关.而且,即使你有继承关系,它们仍然是“状态”,而不是“子状态”
标签:java,oop,design-patterns,state
来源: https://codeday.me/bug/20190629/1330656.html