使用new的Code都违反了DIP. 但是,依赖于稳定的具体类,是无害的.例如string. 另一方面,对于正在开发中的APP,很多具体类是易变的.此时应该依赖于抽象接口. Factory模式:只依赖于抽象接口就能创建出具体对象的实例. 对Test Fixture使用工厂 编写UT时,希望把一个模块和它使用的模块隔离起来,从而单独测试该模块的行为. 工厂的使用 遵循DIP,对于系统中所有的易变类都要使用工厂. 但是,工厂是复杂的,为了创建一个新类,需要1个表示该类的接口和1个其工厂的接口.实现这…