软件概要设计,模块化设计,接口,依赖注入,设计模式,依赖倒置原则,模块间通信