问题
我最近阅读了很多有关Singletons不好以及依赖注入(我理解为“使用接口”)如何更好的知识。当我使用callbacks / interfaces / DI并遵循接口隔离原则来实现其中的一部分时,我最终陷入了混乱。
UI父级的依赖关系基本上是其所有子级的依赖关系的组合,因此,UI元素的层次结构越深,其构造函数就越肿。
在UI层次结构之上一直是一个Application类,其中包含有关当前选择的信息以及对需要反映更改的3d模型的引用。该应用程序类实现了8个接口,而这仅仅是即将推出的产品(/接口)的五分之一!
我目前正在处理持有当前选择的单例,并且UI元素具有自我更新的功能。该函数滴入UI树和UI元素,然后根据需要访问当前选择单例。这种代码对我来说似乎更干净。
问题
单身人士可能适合该项目吗?
如果没有,那么我的DI思维和/或实施过程中是否存在根本的缺陷,从而使其变得如此繁琐?
有关项目的其他信息
类型:带铃铛的公寓用购物篮
大小:代码和UI
维护2个工作月:没有正在运行的更新,但以后可能是“版本2.0”
环境:在Unity中使用C#(使用实体)组件系统
在几乎所有情况下,用户交互都会触发多个操作。例如,当用户选择一个项目时
- 显示该项目及其说明的UI部分需要更新。为此,它还需要从3D模型中获取一些信息才能计算价格。
- 在使用者介面的上方,总价格需要更新
- 为了显示那里的变化,需要调用3d模型上的类中的相应函数