依赖注入是信息化系统设计与实现普遍遵循的设计原则,也是实际工作中最容易出现问题的地方。打印信息系统顶层模块化设计为ERP、CRM和IOT,采用黑板体系架构风格,基于数据中台通过EventBus解耦各个子系统,使用统一身份认证SSO。虽然有完善的架构设计,但具体到代码中,尤其是CRUD业务中,软件工程师进行硬编码的情况屡见不鲜,他们把某些字段硬编码写在service中,甚至硬编码一段sql语句连ORM也不使用,这样短期的好处是系统实现了功能,当系统运行积累一定数据量时,会不定期出现系统崩溃,尤其是当部署新客户或者老客户发生字段变更时,找问题都无从下手。出现这种严重的代码实现问题主要原因是没有将依赖注入原则贯彻应用在系统设计中,我提出具体落实以下三点要求:(一)定期进行code review,配置一定是在类的外部注入,而不是在内部建立,kuberntes中的deployment中把配置统一放在configMap中就是一个最佳实践;(二)测试与开发同步进行,使用rpaframework框架生成多样化的场景下的测试用例,尤其是静态代码检查机制,可以杜绝明显的硬编码情况;(三)加强构件复用,优秀的构件都是遵循依赖注入原则的,尽量减少新设计类,避免重复造轮子。