我们正在开发一套用于追踪我们现场办事处库存的系统。
在其核心,系统将有一个“资产”清单-例如自行车、电脑、帐篷等物品。每个资产都经历“活跃”、“遗失”、“签出”、“清点”等状态。一些状态有额外的信息,如“签出给”或“清点者”。
因此,我想每个州将是父类的子类或实现iState接口。这部分对我很清楚。
我所困惑的是一个良好的面向对象的设计来将业务逻辑放置在哪些状态可以跟随先前的状态(资产对象将存储它的“最后”状态)。例如,Checked In只能跟随Checked Out。Active必须是记录在资产上的第一个状态。
任何想法或指针都会很有用。在这个问题上,没有任何GoF设计模式引起了我的注意。
是的,我知道我们应该关注现成的解决方案,但管理层已经决定现在继续开发我们自己的工具。