我正在使用 Angular 7 来构建我的系统。现在我需要向该应用程序添加撤消/重做功能。我正在寻找的是,我应该遵循哪些最佳实践来做到这一点?我是否需要使用状态管理库(NGRX 等)来提高效率和可维护性?或者遵循一个简单的模式(命令模式等)就足够了,更实用并且附加的复杂性更少?注意系统的数据结构是嵌套的,很复杂(5层嵌套)
我尝试为此实现命令设计模式,但我想确保这是解决此类问题的“正确方法”。
命令模式(推荐用于更简单的场景):
如果您的应用程序具有相对较小的撤消/重做操作集和更简单的数据结构,则命令模式可能就足够了。 它更容易理解和实施,特别是如果您的团队不熟悉状态管理。
NgRx(复杂场景推荐):
如果您的应用程序具有复杂的嵌套数据结构,并且涉及许多与共享状态交互的组件,那么使用像 NgRx 这样的状态管理库可能会提供更好的组织和可维护性。
最终,不存在一刀切的解决方案,最佳方法取决于您的应用程序的具体要求和限制。如果应用程序的数据结构高度嵌套且复杂,从长远来看,使用 NgRx 等状态管理库可能会提供更好的组织和可扩展性。但是,对于更简单的应用程序,自定义实现或更简单的设计模式可能就足够了。