在编码时,只要在需要时进行New操作,不仅可以节省编码的时间,还可以直接获取当前需要的具体依赖项,但是事物总有两面性,在带来便利的同时,频繁的New操作也给维护带来不小的危害。
最主要的危害就是对依赖项的强制绑定,让其后期的维护过于困难,具体如下所示
- 类的替换需要逐一排查,大大增加了错、漏替换的几率
- new造成的依赖强制绑定,可能会造成因一个类需要替换,而必须替换其他类的这种连锁效应
- 如果后期维护人员有变动,则需要了解的信息很大几率会超过对应模块所含的内容(需要查看模块里new实例的所有内容)
所以笔者认为,对于满足控制欲的new操作需要严格限制,以注入的方式将依赖项传递其中,其所带来的的收益会更多。